C++ 在std::string中存储时间\u t失败

C++ 在std::string中存储时间\u t失败,c++,ios,xcode,C++,Ios,Xcode,好吧,也许不是最好的标题,但我正在努力确定问题是什么。我有一个包含一个长变量的有效字符*,当我在中读取它时,它是正确的,lastSaveTime是有效的。在IF语句之前,一切都是有效的。一旦发生这种情况,seconds变量就会损坏或损坏。在watch窗口中,它不显示任何内容,当我在几秒钟后使用时,它实际上不包含有效数据,因此是坏的 有什么建议吗 time_t lastSaveTime; lastSaveTime = static_cast<time_t>(atol(lastTime.

好吧,也许不是最好的标题,但我正在努力确定问题是什么。我有一个包含一个长变量的有效字符*,当我在中读取它时,它是正确的,lastSaveTime是有效的。在IF语句之前,一切都是有效的。一旦发生这种情况,seconds变量就会损坏或损坏。在watch窗口中,它不显示任何内容,当我在几秒钟后使用时,它实际上不包含有效数据,因此是坏的

有什么建议吗

time_t lastSaveTime;
lastSaveTime = static_cast<time_t>(atol(lastTime.c_str()));

time_t nowTime;
time(&nowTime);

double seconds = difftime(nowTime, lastSaveTime);

if (seconds > 86400)
{
    seconds = 86400;
}
time\u t lastSaveTime;
lastSaveTime=static_cast(atol(lastTime.c_str());
时间不是现在;
时间(&nowTime);
双秒=difftime(nowTime,lastSaveTime);
如果(秒>86400)
{
秒=86400;
}

这不是将常量字符*指向的数据转换为时间的方法。试试看,我会调查的。对于我最初的问题,我相信我已经发现了问题所在。对Xcode和iOS不是100%熟悉,我刚运行时发现std::numeric_limits::max()要小得多:2147483647我期待的是一个更大的数字:9223372036854775807,这是一个很长的。。。我的错