fread里的buf是存储读到的数据么?为什么fread的返回值与strlen(buf)不相等?

如题
2025-02-27 06:54:39
推荐回答(2个)
回答1:

fread是读的二进制数据,包括0的;strlen是判断的以0结束的字符串长度,遇到0就打住了。
所以,操作二进制数据的时候,不能用strlen

回答2:

buf的长度是由自己指定的
strlen的长度是从开始到'\0'结尾的字符串的长度,看你读取的数据是什么