20180716
文件:
fprintf用于按指定格式向文件写入数据,
其写入方式是以**文本格式**。
如:fprintf(fp,"%d\t%d\n",n,m);
fwrite用于向指定的内存中的数据块写入所指的文件,
其写入方式是以**二进制形式**。
如:fwrite(stu,sizeof(stu),n,fp);
sizeof和strlen的区别:
**sizeof()**本身是一个内存容量度量**变量**,
在程序编译期间就可知道括号内的字节大小。
它只能返回一个对象或者类型所占的内存字节数。
sizeof计算对象的大小也是转换成对对象类型的计算,
也就是说,同种类型的不同对象其sizeof值都是一致的。
这里,对象可以进一步延伸至表达式,
即sizeof可以对一个表达式求值,
编译器根据表达式的最终结果类型来确定大小,
一般不会对表达式进行计算。
而**strlen()**是一个函数,
strlen所作的仅仅是一个计数器的工作,
它从内存的某个位置
(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,
直到碰到第一个字符串结束符'\0'为止,
然后返回计数器值(长度不包含'\0')。