《C語言課程設計》一3 2 檔案比較

2021-09-23 08:29:41 字數 1037 閱讀 6316

【例3.2】列印出兩個文字檔案第乙個不相同的行(每行字元數不多於80),命令列格式為:filecmp filename1 filename2。

題目分析

檔案的按行讀取可呼叫fgets標準庫函式。比較字串可呼叫strcmp或strncmp標準庫函式。

自定義函式filecomp用來比較不同行。當找到第乙個不同行時filecomp函式返回到main()函式。lp1和lp2的作用為:當filename1和 filename2出現第乙個不相同行時,控制迴圈結束;當filename1或 filename2未出現不相同行但已讀到檔案結束符或發生讀取錯誤時,控制迴圈結束。

參考程式

/*

* 檔名: filecmp.c

* 描述: 列印出兩個文字檔案第乙個不相同的行。

* 命令列格式為:filecmp filename1 filename2

*/#include #include #include #define maxline 80 /* 每行字元數不多於80 */

void filecomp(file *fp1, file *fp2);

int main(int argc, char *ar**)

/* 開啟檔案 */

if ((fp1 = fopen(ar**[1], "r")) == null)

if ((fp2 = fopen(ar**[2], "r")) == null)

filecomp(fp1, fp2);

/* 關閉檔案 */

fclose(fp1);

fclose(fp2);

}/* 比較兩個檔案第乙個不同行 */

void filecomp(file *fp1, file *fp2)

} else if (lp1 != line1 && lp2 == line2) else if (lp1 == line1 && lp2 != line2)

} while (lp1 == line1 && lp2 == line2);

}

《C語言課程設計》一3 1 檔案複製

例3.1 編寫文字檔案複製程式,命令列格式為 mycopy filename1 filename2。題目分析 每個c語言程式必須定義乙個main函式作為程式的入口。程式啟動從main函式開始執行,main函式返回時程式終止,若main函式末尾沒有返回語句,則預設執行return 0語句。標準c語言的...

C語言課程設計 檔案基本操作2

include include include fputc 不在字元後面新增換行 fgetc 不在字元後面新增換行,不管這個字元後面是不是換行,它只讀取乙個字元 fputs 不在字元後面新增換行 fgets 讀取檔案一行內容,行尾無換行則無換行,有換行讀取換行 一般情況下向檔案中寫資料都在行末新增乙...

C語言課程設計 檔案基本操作4

隨機讀寫 通過操作檔案的位置指標移動到不同的位置進行檔案的讀寫叫隨機讀寫 用rewind fp 使檔案的位置指標移動到檔案開始的位置 無返回值 用fseek fp,偏移,位置指標 偏移是long型別 位置指標 seek set 檔案開頭 0 seek cur 當前位置 1 seek end 檔案結尾...