使用c语言,使用文件IO实现“每隔1秒向文件1.txt写入当前系统时间,行号递增”
时间: 2024-02-06 20:02:43 浏览: 39
您可以使用以下C代码来实现每隔1秒向文件1.txt写入当前系统时间,并递增行号:
```c
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main() {
FILE *file;
int lineNum = 1;
while (1) {
// 获取当前系统时间
time_t currentTime = time(NULL);
struct tm *timeInfo = localtime(¤tTime);
char timeString[80];
strftime(timeString, sizeof(timeString), "%Y-%m-%d %H:%M:%S", timeInfo);
// 打开文件,以追加模式写入
file = fopen("1.txt", "a");
if (file == NULL) {
printf("无法打开文件.\n");
return 1;
}
// 写入时间和行号
fprintf(file, "%d: %s\n", lineNum, timeString);
// 关闭文件
fclose(file);
// 行号递增
lineNum++;
// 等待1秒
sleep(1);
}
return 0;
}
```
这段代码使用`time()`函数获取当前系统时间,并使用`localtime()`和`strftime()`函数将时间格式化为字符串。然后,它以追加模式打开文件1.txt,使用`fprintf()`将时间和行号写入文件中。之后,关闭文件并递增行号。最后,使用`sleep()`函数等待1秒,然后进入下一次循环。
请注意,这段代码将以无限循环的方式运行,您可以通过按下 `Ctrl + C` 来停止程序的运行。