C Primer Plus第十三章第7题a:编写一个打开两个文件的程序,让程序打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,直到打印完行数较多的文件的最后一行。
我尝试在while循环中用两个fgets()分别读取两个文件的一行,然后用fputs()打印,结果出来一堆“烫”(乱码),文件的正确内容也参杂在其中。以下是部分程序代码和截图(两个文件中的内容分别是A(回车)C E; B D F)
while((fscanf(fp1, "%s", &first) == 1 && first[0] != '\0') ||
(fscanf(fp2, "%s", &second) == 1 && second[0] != '\0'))
{
puts(first);
puts(second);
}
网上的答案中用的是getc逐字符读取,难道不能逐行或逐单词读取吗?