尝试使用 std::get_time 解析 YYMMDD 并失败 [英] trying to use std::get_time to parse YYMMDD and failing

查看:19
本文介绍了尝试使用 std::get_time 解析 YYMMDD 并失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试这样做但失败了:

I'm trying to do this and failing:

std::istringstream ss("1212");
ss >> std::get_time(&t, "%y%m");
if (ss.fail()) // every time!

这没问题:

std::istringstream ss("12-12");
ss >> std::get_time(&t, "%y-%m");

知道我做错了什么吗?我还能用什么,因为 Windows 似乎没有 srtptime

Any ideas what i'm doing wrong? what can i use otherwise as windows doesnt appear to have a srtptime

windows/vs13TIA

windows/vs13 TIA

推荐答案

Visual Studio 似乎没有正确实现规范,GCC 直到 5.0 版.如果您继续在 VS13 甚至 VS15 中使用 std::get_time,您将需要手动添加分隔符以便能够解析时间,直到他们最终意识到这个错误.

Visual Studio does not seem to implement the spec properly, nor did GCC until version 5.0. If you continue to use std::get_time with VS13 or even VS15, you will need to manually add delimiters to be able to parse times until they finally get around to realizing this bug.

这篇关于尝试使用 std::get_time 解析 YYMMDD 并失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆