我现在要对一文本内容进行修改,文本内容:
ETCH x=3 y=4;
ETCH x=4 y=5;
ETCH x=5 y=6;
修改要求是 将x的数值加1,即修改后内容为:
ETCH x=4 y=4;
ETCH x=5 y=5;
ETCH x=6 y=6;
fscanf(fp, "ETCH x=%d y=%d;", &i, &j);
fprintf(fp, "ETCH x=%d y=%d;", i+1, j+1);这样为什么改不了?

解决方案 »

  1.   

    #include <stdio.h>int main(int argc, char**argv)
    {
    FILE* file = fopen("d:\\etch.txt", "r");
    FILE* fout = fopen("d:\\etchex.txt", "a+");
    if(file==0) return 1;
    if(fout==0){
    fclose(file);
    return 2;
    } int x, y;
    //ETCH x=3 y=4;
    while(fscanf(file, "ETCH x=%d y=%d;\n", &x, &y)>0)
    {
    fprintf(fout, "ETCH x=%d y=%d;\n", x+1,y);
    } fclose(file);
    fclose(fout);
    return 0;
    }
      

  2.   

    边城浪子的做法很好.但最后做完只有一行,即:ETCH x=3 y=4
    变为了
    ETCH x=4 y=4其余的
    ETCH x=4 y=5;
    ETCH x=5 y=6;
    都没有了,怎么办?