这本书看到现在也应该如鱼得水了.看一些本书的代码扫一眼就能知道是什么意思了.
套路已经熟悉了~~
如果参数数量不是三个(程序名和两个文件名),向标准错误(也就是屏幕)输出错误信息.
然后是用fopen函数以'r'读的方式打开参数写的文件,并把指针给fp1和fp2.
第一个++argv是第一个文件名.
第二个++argv是第二个文件名.
(因为++i等于i = i + 1)
对应的文件出错就输出对应的错误信息.
如果都没出错那么执行fliecomp函数对比两个文件,然后fclose函数清理文件指针.
filecomp函数
复杂倒是不复杂,但是那个用lp1和lp2与line1和line2作为判断依据的表达式不是很了解是什么原理.
这个只能拿具体的实例去试了.
我判断应该是fgets如果读到文件末尾返回值为NULL.是一个空指针.
定义为#define NULL (void *)0.
而line就算读到最后EOF.也是有地址的.
EOF是End Of File的简写,即文件结尾。其定义为
define EOF -1.
而且值也不同,因此可以当做判断式.
别的倒是没啥说的
网友评论