1、问题描写
将多条记录写入文件中,每条记录占1行。每写入1条记录,要计算当前文件中所有记录的大小(精确到字节)和记录条数,并写到文件的第1行(即文件头)。为了便于辨别,文件记录的大小和文件中记录条数各占10个字节,左对齐,不足的位补以空格。
2、算法流程
3、C代码实现
4、程序说明
(1) 本程序在Linux环境下用makefile文件进行编译,makefile文件的内容以下:
WriteFileHeader : WriteFileHeader.c
gcc -c -g WriteFileHeader.c
gcc -g -o release/WriteFileHeader WriteFileHeader.o
rm *.o
(2) 本程序中使用了多个文件处理函数,如:fopen、fputs、fflush、fclose、fseek、fread、fwrite等。各位读者可以据此体会不同文件处理函数的用法。
(3) 本程序演示了3次文件记录的写入进程,大家可以根据本身所需用不同的记录来对程序进行测试。
5、程序运行结果
用makefile文件对程序进行编译以后,转到release目录下,履行“WriteFileHeader”命令,结果以下:
WriteToFile: now write header to file, Count of content=1
WriteToFile: now update file header, Count of content=2
WriteToFile: now update file header, Count of content=3
查看TestFile.txt文件,内容以下: