我在同一个程序中创建了“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')反正你继续 –