13.3 一个简单的文件压缩的程序----就是读取文件内容,每三个提取出一个字符 :-(
其中in指向的是原来的那个文件,out指向的是存放压缩后数据的文件。
13.4
fprintf()和fscanf()函数
和printf()和scanf()函数相似,区别在与需要第一个参数来指定合适的文件。
程序13.3:addaword.c
fgets()和gets()的区别 :如果fgets()函数在达到字符最大数目之前读完了一整行,它将在字符串的空字符之前添加一个换行符以标识一行结束。这是fgets()函数和gets()函数的不同之处,后者采取换行符后将其丢弃。 幻灯片 8
因此,用 gets() 读取数据时,判断输入结束用的是和 ’ /0 ’ 比较,而用 fgets() 读取 时,是和 ’ /n ’ 做比较。
例13.4
运行时,一次输入的字符串长度大于MAXLINE也能全部输入,这是为什么呢,因为若大约这个数,当截取了MAXLINE之后,会进行下一次while循环,将剩下的打印出来。