fread是读的二进制数据,包括0的;strlen是判断的以0结束的字符串长度,遇到0就打住了。所以,操作二进制数据的时候,不能用strlen
buf的长度是由自己指定的strlen的长度是从开始到'\0'结尾的字符串的长度,看你读取的数据是什么