我使用以下代码从文件中读取一个字符并替换它,但我遇到了一个错误。循环一直进行到文件结尾。
问题出在哪里?
我在Linux(NetBeans IDE)上测试了这段代码,它是正确的并且工作得很好,但当我尝试在Windows中使用VS 2008时,我发现出现了无限循环的情况。
问题出在哪里?
我在Linux(NetBeans IDE)上测试了这段代码,它是正确的并且工作得很好,但当我尝试在Windows中使用VS 2008时,我发现出现了无限循环的情况。
//address = test.txt
FILE *fp;
fp=fopen(address,"r+");
if(fp == 0)
{
printf("can not find!!");
}
else
{
char w = '0'; /// EDIT : int w;
while(1)
{
if((w = fgetc(fp)) != EOF)
{
if((w = fgetc(fp)) != EOF)
{
fseek(fp,-2,SEEK_CUR);
fprintf(fp,"0");
}
}
else
{
break;
}
}
}
fclose(fp);