Linux 环境 c语言中 fopen 路径加时间,保证每次保存的唯一性
时间: 2024-03-28 10:41:35 浏览: 128
你可以使用 time.h 头文件中的 time() 函数来获取当前时间,然后将时间作为文件名的一部分。具体实现如下:
```c
#include <stdio.h>
#include <time.h>
int main() {
char filename[100];
time_t now = time(NULL); // 获取当前时间
strftime(filename, sizeof(filename), "file_%Y%m%d_%H%M%S.txt", localtime(&now)); // 将时间按照指定格式转换为字符串,并存储到 filename 中
FILE* fp = fopen(filename, "w"); // 打开文件,如果文件不存在则创建新文件
if (fp == NULL) {
printf("Error opening file!\n");
return 1;
}
fprintf(fp, "Hello, world!\n"); // 写入数据到文件
fclose(fp); // 关闭文件
return 0;
}
```
上述代码中,strftime() 函数将时间格式化为 "file_年月日_时分秒.txt" 的形式,并将结果存储到 filename 字符数组中。然后使用 fopen() 函数打开文件,文件名为 filename,如果文件不存在则创建新文件。最后写入数据到文件,并调用 fclose() 函数关闭文件。
阅读全文