題目要求:
用 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模式,檔案不存在則建立,檔案存在則不會覆蓋,寫內容會以追加的方式寫 寫日誌檔案的時候常用 追加模式是一種特殊...