Laz*_*zer 6 c time file-io datetime file
对于我正在编写的小型todo程序,我有这种形式的时间戳
time_t t = time(NULL);
Run Code Online (Sandbox Code Playgroud)
每次输入任务时都会保存,以表示输入的时间.
我想将任务存储到纯文本文件中,以便可以保存和恢复状态.我应该如何将时间戳存储到文本文件中,以及在阅读文本文件后如何将它们恢复到我的程序中?
mu *_*ort 12
转换time_t
为struct tm
使用gmtime()
,然后使用转换struct tm
为纯文本(最好是ISO 8601格式)strftime()
.结果将是可移植的,人类可读的和机器可读的.
要返回到time_t
,您只需将字符串解析为a struct tm
并使用mktime()
.
以供参考:
代码示例:
// Converting from time_t to string
time_t t = time(NULL);
struct tm *ptm = gmtime(&t);
char buf[256];
strftime(buf, sizeof buf, "%F %T", ptm);
// buf is now "2015-05-15 22:55:13"
// Converting from string to time_t
char *buf = "2015-05-15 22:55:13";
struct tm tm;
strptime(buf, "%F %T", &tm);
time_t t = mktime(&tm);
Run Code Online (Sandbox Code Playgroud)