我在同一個程序中創建了「wor.txt」文件,並關閉了它的寫入流。但是當我嘗試訪問它在第一次運行(我創建該文件)它給出了分段錯誤,但是當我重新運行該程序它運行成功。fgetc()創建分割錯誤
當我刪除自動生成的文件並再次運行程序時,它給出了分段錯誤,並在第二次運行(不刪除文件)它再次成功運行。
注意:有數據的文本文件,因此它不是空(在文件管理器在第一次運行後,我已經看到了)
FILE *fp1= fopen("wor.txt","r");
FILE *f1= fopen("wordsa.txt","ab+");
if((f1==NULL)||(f2==NULL)){
printf("f1 or f2 is null");
}
char c='0';
while((c)!=EOF){
printf("Here is one marker\n");
c=fgetc(fp1); //This Line gives error
printf("Here is another marker\n");
fputc(c,f1);
}
'f1 == NULL' - >'fp1 == NULL'。如果你的代碼格式正確,你可以自己看看。你也應該使用一致的命名約定:調用變量'f1'和'f2'或'fp1'和'fp2'。 –
在檢測到'fp1 == NULL'後(至少我假設你在你的代碼中檢查'f2')反正你繼續 –