0

对于一项任务,我必须创建带有时间戳附加在文件名中以保持唯一性的文件。还有另一个程序可以读取这些文件。其他程序选择这些文件的条件是文件名应包含 14 位时间戳 (YYYYMMDDHHMMSS),我通过 SYSTEMTIME 获得。我面临的问题是,有时秒字段以“10”的形式出现,在文件名中它被四舍五入,并且只有“1”显示为时间戳中的秒字段。另一个程序没有选择这个文件,因为时间戳现在只包含 13 位数字。除了检查时间戳的长度并在最后添加“0”之外,我该如何解决这个问题。

谢谢马布布

4

1 回答 1

0

附上一些示例代码更好地描述。

我使用了以下代码,没有遇到您面临的问题。

  int64 timestamp = time(NULL);
  char data[kFileNameLength + 1]; 
  tm time_struct;
  strftime(data, sizeof(data), "%Y%m%d%H%M%S", localtime_r(&timestamp, &time_struct));
  return std::string(data);
于 2013-05-16T05:02:57.747 回答