如何在c中将时间转换为c字符串?

2024-01-07

我想在 .c 文件中的 .txt 文件中写入一些内容,但需要使用当前时间戳作为后缀来命名该文件,就像 filename_2010_08_19_20_30 一样。所以我得先定义文件名字符数组,然后自己处理文件名?一个一个分配字符?

有什么简单的方法可以做到这一点吗?


有一个函数叫strftime其存在的明确目的是将时间值写入人类可读的字符串。文档:http://linux.die.net/man/3/strftime http://linux.die.net/man/3/strftime

一个例子:

#include <time.h>
#include <stdio.h>

int main()
{
   FILE* file;
   char filename[128];
   time_t now;
   struct tm tm_now;

   now = time(NULL);
   localtime_r(&now, &tm_now);

   strftime(filename, sizeof(filename), "filename_%Y_%m_%d_%H_%M.txt", &tm_now);

   file = fopen(filename, "w");

   fprintf(file, "Hello, World!\n");

   fclose(file);

   return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在c中将时间转换为c字符串? 的相关文章

随机推荐