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

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

有没有简单的方法呢?

有一个名为strftime的函数,用于将时间值写入人类可读字符串的明确目的。 文档: http : //linux.die.net/man/3/strftime

一个例子:

 #include  #include  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; } 
  time_t timet; struct tm * timeinfo; char buffer [32]; time (&timet); timeinfo = localtime(&timet); strftime(buffer,32,"_%Y_%m_%d_%H_%M",timeinfo);