gpt4 book ai didi

C++ strptime 给出错误的结果

转载 作者:行者123 更新时间:2023-11-30 05:43:51 29 4
gpt4 key购买 nike

我正在解析一个包含格式为 DD/MM/YYYY HH:MM:SS 的字符串的文件。我正在尝试使用以下代码读取它们并将它们转换为 Unix 时间戳:

tm tm;
cout << datestr << endl;
strptime(str.c_str(), "&d/&m/&Y %H:&M:&S", &tm);
cout << tm.tm_year << " " << tm.tm_mon << " " << tm.tm_mday << " " << tm.tm_hour << " " << tm.tm_min << " " << tm.tm_sec << " " << endl;
timestamp = mktime(&tm);

这是我运行程序时发生的情况:

24/01/2014 00:04:42
4 6 31 4 1 8

问题从何而来?我还注意到,无论格式如何,它似乎都提供相同的输出。

最佳答案

根据 man page ,转换说明符使用 % 字符,而不是您使用的 &

因此,应该使用下面的代码:

strptime(str.c_str(), "%d/%m/%Y %H:%M:%S", &tm);

关于C++ strptime 给出错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066436/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com