Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
对于一项任务,我必须创建带有时间戳附加在文件名中以保持唯一性的文件。还有另一个程序可以读取这些文件。其他程序选择这些文件的条件是文件名应包含 14 位时间戳 (YYYYMMDDHHMMSS),我通过 SYSTEMTIME 获得。我面临的问题是,有时秒字段以“10”的形式出现,在文件名中它被四舍五入,并且只有“1”显示为时间戳中的秒字段。另一个程序没有选择这个文件,因为时间戳现在只包含 13 位数字。除了检查时间戳的长度并在最后添加“0”之外,我该如何解决这个问题。
谢谢马布布
附上一些示例代码更好地描述。
我使用了以下代码,没有遇到您面临的问题。
int64 timestamp = time(NULL); char data[kFileNameLength + 1]; tm time_struct; strftime(data, sizeof(data), "%Y%m%d%H%M%S", localtime_r(×tamp, &time_struct)); return std::string(data);