fprintf(stdout, "%c", '\n');
if ((ch1 == EOF) & (ch2 == EOF)) /* 退出条件 */
break;
}
}
再用两个测试文件来打开,输出在终端,你也可以修改输出到文件中。下面给出结果:
其实道理很简单,但一定要注意换行符的问题。我就试过每一行就吞了一个字母,那是因为换行获取一个字符时在下一次输出的时候又获取了字符,就覆盖了。只有在该换行的时候才能执行那个获取下一字符的表达式。
可以改进的地方:这个程序只支持ascll码,要是汉字的话就会出现乱码,因为汉字好像是占两个字节的吧。还有,可以在程序的后面加一个计数,计算每一行共由多少个除空格以外的字符。
本人新手,说错的地方望指出,谢谢。