1>向文件打印时间
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int get_fileLine(FILE *fp)
{
int line = 0;
char buf[32];
while (fgets(buf, sizeof(buf), fp) != NULL)
{
if (buf[strlen(buf) - 1] == '\n')
{
line++;
}
}
return line;
}
int main(int argc, char *argv[])
{
FILE *fp = NULL;
time_t prev_time = 0;
while (1)
{
// 获取当前时间
time_t curr_time;
time(&curr_time);
struct tm *t = localtime(&curr_time);
// 比较前后两次时间是否相同
if (difftime(curr_time, prev_time) != 0)
{
// 打印时间到指定文件
if ((fp = fopen("./1.txt", "a+")) == NULL)
{
perror("fopen error");
return -1;
}
char buf[128];
int line = get_fileLine(fp);
sprintf(buf, "[%d] %4d-%02d-%02d %02d:%02d:%02d\n", line + 1,
t->tm_year + 1900, t->tm_mon + 1, t->tm_mday,
t->tm_hour, t->tm_min, t->tm_sec);
fputs(buf, fp);
fclose(fp);
/*printf("%s", buf);*/
// 更新上一次时间
prev_time = curr_time;
}
}
return 0;
}
2>使用fread和fwrite完成文件的拷贝
3>课堂代码再敲一次
5.4fopen的使用
5.5fclose的使用
5.6有关错误码
5.71fget/gputc的使用
5.72使用fgetc和fputc统计一个文件的行数
5.73使用fgetc和fputc完成一个文件的拷贝
5.8fgets/fputs的使用
5.8fputs/fgets统计文件行号和拷贝文件
5.11系统时间函数的使用
5.12sprintf函数
5.14格式化函数fprintf/fscanf
5.15fread/fwrite函数的使用
读写字符串
读写整形变量
读写结构体
5.16feof/ferror函数的使用
关于光标的函数fseek ftell frewind