有什么区别:
fread( buf, sizeof buf, 1, file ); // 'file' is valid open 'FILE *'
Run Code Online (Sandbox Code Playgroud)
和
fread( buf, 1, sizeof buf, file );
Run Code Online (Sandbox Code Playgroud)
参数2和3被size_t size, size_t nmemb描述为"fread()读取nmemb数据项,每个字节长度为".我认为读取的最终字节数必须是size * nmemb但由于某种原因,只有第二种语法(大小= 1)对我有效.
区别在于以下两点:
nmemb).如果它们成功,这在你的两个陈述中是不同的.在第一种情况下:
fread( buf, sizeof(buf), 1, file )
Run Code Online (Sandbox Code Playgroud)
你会得到全部或全部; fread无法读取小于sizeof(buf)文件较小的内容.
在第二种情况:
fread( buf, 1, sizeof(buf), file );
Run Code Online (Sandbox Code Playgroud)
您允许fread读取尽可能多的字节,即使sizeof(buf)文件中的可用字节数少于可用字节.将返回实际读取的元素数(本例中为字节数).
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |