本文介绍了尝试使用 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 并失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!