问题描述
- C语言 用fgets()或fscanf()分别读取两个文件流出错
-
C Primer Plus第十三章第7题a:编写一个打开两个文件的程序,让程序打印第一个文件的第一行,第二个文件的第一行,第一个文件的第二行,第二个文件的第二行,以此类推,直到打印完行数较多的文件的最后一行。
我尝试在while循环中用两个fgets()分别读取两个文件的一行,然后用fputs()打印,结果出来一堆“烫”(乱码),文件的正确内容也参杂在其中。以下是部分程序代码和截图(两个文件中的内容分别是A(回车)C E; B D F)while((fscanf(fp1, "%s", &first) == 1 && first[0] != '') || (fscanf(fp2, "%s", &second) == 1 && second[0] != '')) { puts(first); puts(second); }
解决方案
可能是写和读的编码不一样吧
时间: 2024-09-17 13:39:30