古月居 ros21讲中第十讲

问题遇到的现象和发生背景 在跟着古月居ros21讲第十节最后编译步骤出现上图问题
问题相关代码,请勿粘贴截图

img

运行结果及报错内容
我的解答思路和尝试过的方法 重新复制代码也不行,一直显示代码有误,可是代码是从课件复制的
我想要达到的结果

使用这段程序将源代码中的\r\n替换为\n

#include <stdio.h>
#include <io.h>
FILE *f;
int c1,c2;
long roff,woff;
int main(int argc,char *argv[]) {
    if (argc!=2) {
        printf("Usage: CRLF2LF filename\n");
        return 1;
    }
    f=fopen(argv[1],"rb+");
    if (NULL==f) {
        printf("Can not open file [%s]!\n",argv[1]);
        return 2;
    }
    roff=woff=0;
    while (1) {
        fseek(f,roff,SEEK_SET);
        c1=fgetc(f);
        if (EOF==c1) break;
        roff++;
        if ('\r'==c1) {
            fseek(f,roff,SEEK_SET);
            c2=fgetc(f);
            if (EOF==c2) {
                fseek(f,woff,SEEK_SET);
                fputc('\n',f);
                woff++;
                break;//
            }
            roff++;
            if ('\n'==c2) {
                fseek(f,woff,SEEK_SET);
                fputc('\n',f);
                woff++;
            } else {
                fseek(f,woff,SEEK_SET);
                fputc(c2,f);
                woff++;
            }
        } else {
            fseek(f,woff,SEEK_SET);
            fputc(c1,f);
            woff++;
        }
    }
    chsize(fileno(f),woff);
    fclose(f);
    return 0;
}