C语言程序如何纪录操作者的操作内容和操作时间并记录到文件夹里
时间: 2024-09-29 07:12:13 浏览: 33
C语言文件操作函数大全
5星 · 资源好评率100%
在C语言中,你可以使用标准库函数如`time(3)`来获取当前的时间戳,并通过文件操作函数如`fopen(3)`, `fprintf(3)`, 和`fclose(3)`来记录操作信息到文件中。以下是一个简单的示例:
```c
#include <stdio.h>
#include <time.h>
#define MAX_LINE_LENGTH 100 // 文件行最大长度
#define FILENAME "operation_log.txt" // 日志文件名
void log_operation(const char *operation, const char *additional_info) {
time_t current_time = time(NULL); // 获取当前时间
struct tm *local_time = localtime(¤t_time);
char timestamp[MAX_LINE_LENGTH]; // 存储时间字符串
strftime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S", local_time);
char log_line[MAX_LINE_LENGTH];
snprintf(log_line, sizeof(log_line), "[%s] Operation: %s\nAdditional Info: %s\n", timestamp, operation, additional_info);
FILE *file = fopen(FILENAME, "a"); // 打开文件追加模式
if (file != NULL) {
fprintf(file, "%s", log_line);
fclose(file); // 关闭文件
} else {
printf("Failed to open file for writing.\n");
}
}
// 调用log_operation记录操作
int main() {
log_operation("File creation", "User John created a new file.");
return 0;
}
```
在这个例子中,`log_operation` 函数接受操作名称和额外信息作为参数,将它们以及当前时间一起格式化成字符串,并写入指定的日志文件。每次运行该程序时,都会在日志文件末尾追加新的记录。
阅读全文