天天看点

写文件头的算法流程及C代码实现

一、问题描述

       将多条记录写入文件中,每条记录占一行。每写入一条记录,要计算当前文件中所有记录的大小(精确到字节)和记录条数,并写到文件的第一行(即文件头)。为了便于区分,文件记录的大小和文件中记录条数各占10个字节,左对齐,不足的位补以空格。

二、算法流程

写文件头的算法流程及C代码实现

三、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文件,内容如下:

写文件头的算法流程及C代码实现

---------------------------------------

2016年4月28日修改程序:

继续阅读