c語言之檔案操作程式

2021-07-23 19:47:24 字數 1807 閱讀 1487

題目要求:

用 c 語言寫的源程式是一種文字檔案。本專案以 c 語言的源程式為操作物件,完成對源程式的一系列處理,如判斷是否有 main 函式、將某些行加上注釋等。各功能可以分別編制乙個程式實現(建議用這種簡單的方案),也可以編制乙個程式檔案,各功能作為程式中的模組。

(1)讀入乙個 c 程式,判斷其中是否只有乙個 main()函式,輸出「暫時沒有發現問題」,或者「沒有main()函式」,或者「不能定義多個 main()函式」。

提示 1:簡單處理,可以只比較判斷「main()」,考慮實際上的各種可能,main 後面的括號中有任意多個空格及 void 的都應該算在內。建議按最簡單的情形處理。

提示 2:建議設計乙個函式 is_sub_sring(char *s1, char* s2),函式用於判斷 s1 是否「包含」在讀入的一行 s2 中。呼叫時,用「main()」與讀到的**與字串進行比較,形參 s1 對應的實參用「main()」即可。這樣寫提公升了「抽象」級別,更容易實現,對應更高的**質量。

(2)讀入乙個 c 語言程式,使程式中的所有左花括號「」都單獨佔一行,修改後的程式儲存到另乙個.c 檔案中,並在螢幕上顯示處理過的程式,顯示時加上行號。

(3)讀入乙個 c 語言程式,輸入 m、n 兩個數字,從第 m 行起的 n 行**將作為注釋使用(即在這些行前面加上「//」),修改的程式儲存到另乙個.c 檔案中,並在螢幕上顯示處理過的程式,顯示時加上行號。*/

#include

#include

#include

file *file_open(char *filename,char *mode)   // 按照指定mode開啟檔案filename

return fp;

}int is_sub_sring(char s1, char s2)//判斷函式中是否有main()

void pd_main(file *fp1)//判斷main函式

if(count==0)

printf("\t沒有main()函式\n");

else if(count==1)

printf("\t暫時沒有發現問題\n");

else

printf("\t不能定義多個 main()函式\n");

}void show_all(file *fp)// 顯示檔案所有程式 

return ;

}void change_braces(file *fp1)//修改括號

')&&(str1!='\n'))

fputc('\n', fp2);//讀入乙個字元

else if((str1=='')&&(str2!='\n'))

fputc('\n', fp2); 

fputc(str2, fp2);

str1=str2;

}fclose(fp2);

fp2=file_open("vc2.c","r");

show_all(fp2);// 顯示檔案所有程式

fclose(fp2);

}void change_cx(file *fp1)//注釋**

fputs(string1, fp2);    

fgets(string1, 256, fp1);                 // 繼續從原始檔中讀入字串 

}fclose(fp2);

fp2=file_open("vc3.c","r");

show_all(fp2);// 顯示檔案所有程式

fclose(fp2);

}int main()

fclose(fp1);

system("pause");

}return 0;

}

C語言之檔案操作

fseek 函式 int fseek file stream,long offset,int whence 功能分析 第乙個引數為檔案指標,第二個引數表示偏移量,第三個引數表示從什麼地方開始偏移 返回值為0 表示成功,1表示失敗 whence的數值 seek set 檔案的起始位置 0 seek c...

C語言之檔案操作

file fopen const char path,const char mode 功能 開啟檔案 path 檔案的路徑 mode 檔案開啟的方式,以字串形式提供 r 以唯讀方式開啟檔案,如果檔案不存在則開啟失敗,返回值為空。r 在 r 的基礎上增加寫許可權。w 以只寫方式開啟檔案,如果檔案不存在...

python操作程式 python檔案操作

一 檔案處理流程 1.開啟檔案,得到檔案控制代碼並賦值給乙個變數 2.通過控制代碼對檔案進行操作 3.關閉檔案 r模式,預設模式,檔案不存在則報錯 w模式,檔案不存在則建立,檔案存在則覆蓋 a模式,檔案不存在則建立,檔案存在則不會覆蓋,寫內容會以追加的方式寫 寫日誌檔案的時候常用 追加模式是一種特殊...