C - 我可以将格式化时间输出到文本文件中吗?
C - 我可以将格式化时间输出到文本文件中吗?
我想将时间输出到一个文本文件中,时间的格式应为(dd-mm-yy)。我参考了如何以格式2009-08-10 18:17:54.811打印时间(使用顶部答案中的代码),现在我卡在了这段代码上:
int main() { time_t timer; char buffer[26], line[50]; // 希望将日期和时间输入到一个字符串(line[50])中 struct tm* tm_info; time(&timer); tm_info = localtime(&timer); strftime(buffer, 26, "%d-%m-%y %H:%M:%S", tm_info); puts(buffer); return 0; }
这段代码在stdout上输出当前本地时间和日期的格式为(dd-mm-yy)和(hh-mm-ss)。所以我想知道是否可以将这个格式输入到一个文本文件中。
感谢任何帮助。
问题出现的原因是需要将格式化后的时间输出到文本文件中,但是当前代码中只是将时间输出到控制台,并没有将其写入文件中。
解决方法是使用fputs
函数将时间字符串写入文件。具体操作如下:
1. 在puts(buffer)
代码行之后添加以下代码:
FILE* file = fopen("yourtextfile.txt","w"); if (file != NULL){ fputs(buffer,file); fclose(file); }
2. 根据需要修改fopen
函数中的第二个参数。如果希望每次写入时间字符串时都擦除文件中之前的内容,可以将参数设置为"w"
;如果希望将时间字符串追加到文件末尾,可以将参数设置为"a"
。无论哪种情况,如果文件不存在,则会创建一个新文件。