小编mim*_*mad的帖子

c中错误的循环

我使用下面的代码从文件中读取一个字符并将其替换为另一个字符,但我有一个错误.转到文件末尾.

怎么了?

我在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);
Run Code Online (Sandbox Code Playgroud)

c feof

4
推荐指数
1
解决办法
949
查看次数

标签 统计

c ×1

feof ×1