1、問題描寫
將多條記錄寫入文件中,每條記錄占1行。每寫入1條記錄,要計(jì)算當(dāng)前文件中所有記錄的大小(精確到字節(jié))和記錄條數(shù),并寫到文件的第1行(即文件頭)。為了便于辨別,文件記錄的大小和文件中記錄條數(shù)各占10個(gè)字節(jié),左對(duì)齊,不足的位補(bǔ)以空格。
2、算法流程
3、C代碼實(shí)現(xiàn)
4、程序說明
(1) 本程序在Linux環(huán)境下用makefile文件進(jìn)行編譯,makefile文件的內(nèi)容以下:
WriteFileHeader : WriteFileHeader.c
gcc -c -g WriteFileHeader.c
gcc -g -o release/WriteFileHeader WriteFileHeader.o
rm *.o
(2) 本程序中使用了多個(gè)文件處理函數(shù),如:fopen、fputs、fflush、fclose、fseek、fread、fwrite等。各位讀者可以據(jù)此體會(huì)不同文件處理函數(shù)的用法。
(3) 本程序演示了3次文件記錄的寫入進(jìn)程,大家可以根據(jù)本身所需用不同的記錄來對(duì)程序進(jìn)行測(cè)試。
5、程序運(yùn)行結(jié)果
用makefile文件對(duì)程序進(jìn)行編譯以后,轉(zhuǎn)到release目錄下,履行“WriteFileHeader”命令,結(jié)果以下:
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文件,內(nèi)容以下: