如何从文件读取并在C中写入另一个

我有一个这样的输入文件

这是第一行。

这是第二行。

第三行。

我需要输出文件

OddLines.txt:这是第一行。第三行。

EvenLines.txt这是第二行。

这是我的代码。并没有按照我想要的方式工作。

char buf[256];
int ch;
int lines;
lines=1;

FILE *myFile = fopen(argv[1], "r");

if(myFile == NULL)
{
    printf("Open error \n");
    exit(-1);

}

FILE *outFile = fopen("oddlines.txt", "w");
FILE *outFile1 = fopen("evenlines.txt", "w");

while(fgets(buf, sizeof(buf),myFile)!=NULL)
{
    if (ch == '\n')
    lines++;
    else if ((lines%2)==0)
    fputs (buf,outFile1);
    else
    fputs (buf,outFile);
}

fclose(myFile);
fclose(outFile);
fclose(outFile1);
}
评论