Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将日期和时间字符串转换为C+中的无符号uu int64+;_C++ - Fatal编程技术网

C++ 将日期和时间字符串转换为C+中的无符号uu int64+;

C++ 将日期和时间字符串转换为C+中的无符号uu int64+;,c++,C++,我在中有一个要求,我必须读取一个包含日期和时间的文件,并将其转换为未签名的\uu int64 例如,我有一个文件“mytime.txt”,其中包含以下数据 2012-06-25 05:32:06.963 如何将其转换为unsigned\uuu int64,如何将unsigned\uu int64转换回上述字符串以写入文件,并验证其是否正确转换为unsigned\uu int64 我在V.NET C++编译器中工作Windows。 我不应该使用boost您可以使用strtime将字符串转换为st

我在中有一个要求,我必须读取一个包含日期和时间的文件,并将其转换为
未签名的\uu int64

例如,我有一个文件“mytime.txt”,其中包含以下数据

2012-06-25 05:32:06.963
如何将其转换为
unsigned\uuu int64
,如何将
unsigned\uu int64
转换回上述字符串以写入文件,并验证其是否正确转换为
unsigned\uu int64

我在V.NET C++编译器中工作Windows。
我不应该使用
boost

您可以使用
strtime
将字符串转换为struct,然后使用它转换为time,并使用
gmtime

struct tm tm;
time_t epoch;
if ( strptime(timestamp, "%Y-%m-%d %H:%M:%S", &tm) != NULL )
  epoch = mktime(&tm);

// Reverse 
  struct tm * ptm;

  time ( &epoch );

  ptm = gmtime ( &epoch );

标准C库不能处理1秒以下的分辨率,因此您必须求助于平台特定的函数。至于解析字符串,请使用其中一个函数,或者直接使用类似的函数进行提取。看一看-你的函数是它的一个子集。@海报上的AleksG说他不应该使用Boost,因此该问题的答案不适用。@JoachimPileborg Oops,my bad:错过了这一行。“atoi”将生成
2012
,哪个是有效的
\uuu int64
。但你可能想要一个不同的结果。哪个?