首先,開啟一個tmp.txt的檔案儲存結果檔案FILE* out=fopen("tmp.txt","w");FILE* in=fopen("原檔案.txt","r");迴圈採用fgets從in中讀入字串,fgets可以指定讀入的最大字串長度,因此可以一部分一部分地讀,處理到檔案結束為止然後,因為你是要對完整的單詞進行處理,所以fgets完之後再繼續fgetc一個一個的字母,直到讀到一個","再結束,這樣就可以在記憶體中讀到一部分的完整單詞char str[1000]; //開個1000長度的字串陣列int len;while (fgets(str,900,in)!=NULL) //讀900個,留點空間後面可以讀入直完整單詞{len=strlen(str);if (str[len-1]=="\n") {str[len-1]="\0"; //fgets還有個特點,碰到回車會結束,所以如果碰到回車,就會把結尾的回車也讀進去,要去掉len--;}while (str[len-1]!=",") //把最後的單詞讀完整{str[len]=fgetc(in);if (str[len]==EOF) break;len++;}str[len]="\0";//接下來對str中的單詞進行處理啦,這裡自己寫,逐個地讀,判斷是不是要刪除的那個,不是的話,就寫入out檔案中}//最後,刪除原檔案,把tmp.txt代替原檔案fclose(in);fclose(out);remove("原檔案.txt");rename("tmp.txt","原檔案.txt");
首先,開啟一個tmp.txt的檔案儲存結果檔案FILE* out=fopen("tmp.txt","w");FILE* in=fopen("原檔案.txt","r");迴圈採用fgets從in中讀入字串,fgets可以指定讀入的最大字串長度,因此可以一部分一部分地讀,處理到檔案結束為止然後,因為你是要對完整的單詞進行處理,所以fgets完之後再繼續fgetc一個一個的字母,直到讀到一個","再結束,這樣就可以在記憶體中讀到一部分的完整單詞char str[1000]; //開個1000長度的字串陣列int len;while (fgets(str,900,in)!=NULL) //讀900個,留點空間後面可以讀入直完整單詞{len=strlen(str);if (str[len-1]=="\n") {str[len-1]="\0"; //fgets還有個特點,碰到回車會結束,所以如果碰到回車,就會把結尾的回車也讀進去,要去掉len--;}while (str[len-1]!=",") //把最後的單詞讀完整{str[len]=fgetc(in);if (str[len]==EOF) break;len++;}str[len]="\0";//接下來對str中的單詞進行處理啦,這裡自己寫,逐個地讀,判斷是不是要刪除的那個,不是的話,就寫入out檔案中}//最後,刪除原檔案,把tmp.txt代替原檔案fclose(in);fclose(out);remove("原檔案.txt");rename("tmp.txt","原檔案.txt");