每1秒钟将自己的学号姓名和当前时间写入name.txt文件。用c语言编写
时间: 2024-09-06 15:01:15 浏览: 53
C语言学生成绩管理系统(包含文件操作读取和写入TXT文本)
在C语言中,你可以使用文件操作和时间函数来实现这个需求。以下是一个简单的示例代码,展示了如何每隔1秒将学号、姓名和当前时间写入到name.txt文件中。
```c
#include <stdio.h>
#include <time.h>
#include <unistd.h>
int main() {
FILE *fp;
char studentID[100];
char studentName[100];
struct tm *timeinfo;
time_t rawtime;
// 假设学生ID和姓名如下,实际使用时应从用户输入或其他方式获取
const char *studentID = "20230001";
const char *studentName = "张三";
// 打开文件,如果不存在则创建,如果已存在则清空内容
fp = fopen("name.txt", "w");
if (fp == NULL) {
perror("无法打开文件");
return -1;
}
// 循环每隔1秒写入一次信息
while (1) {
// 获取当前时间
time(&rawtime);
timeinfo = localtime(&rawtime);
// 获取时间字符串
char time_str[100];
strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", timeinfo);
// 写入文件
fprintf(fp, "学号:%s\n姓名:%s\n当前时间:%s\n", studentID, studentName, time_str);
// 每次写入后关闭文件
fclose(fp);
// 等待1秒
sleep(1);
// 重新打开文件,准备下一次写入
fp = fopen("name.txt", "w");
if (fp == NULL) {
perror("无法打开文件");
return -1;
}
}
// 关闭文件
fclose(fp);
return 0;
}
```
这段代码将无限循环地每隔1秒将学号、姓名和当前时间写入到name.txt文件中。这里使用了`localtime`函数来获取当前时间的`tm`结构体,并用`strftime`函数将其格式化为易读的字符串格式。文件每次都是以写入模式打开(`"w"`),这意味着如果文件存在,其内容会被清空。
请注意,这个程序没有提供用户输入的方式,学号和姓名是硬编码的。在实际应用中,你应该提供一种方式让用户输入自己的学号和姓名。
阅读全文