一、问题描述
将多条记录写入文件中,每条记录占一行。每写入一条记录,要计算当前文件中所有记录的大小(精确到字节)和记录条数,并写到文件的第一行(即文件头)。为了便于区分,文件记录的大小和文件中记录条数各占10个字节,左对齐,不足的位补以空格。
二、算法流程
三、C代码实现
四、程序说明
(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) 本程序演示了三次文件记录的写入过程,大家可以根据自身所需用不同的记录来对程序进行测试。
五、程序运行结果
用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文件,内容如下:
---------------------------------------
2016年4月28日修改程序: