我正在尝试从文件中一次读取一个字节:
size_t result_new = 1;
char buf6[1];
if( (result_new = fread(buf6, 1, 1, pFile)) != 1)
{
printf("result_new = %d\n", result_new);
printf("Error reading file\n");
exit(1);
}result_new正在变为0,并且正在打印错误。知道哪里会出错吗。我确定pFile很好。
谢谢
发布于 2011-01-29 00:46:11
根据文档:
fread()和fwrite()返回成功读取或写入的项目数(即,不是字符数)。如果发生错误或到达文件末尾,则返回值为短项目计数(或零)。
那么你为什么不检查错误代码来回答你的问题呢?例如,您可以使用perror。
发布于 2011-01-29 01:24:00
如果您只需要一个字节,那么getc将是比fread更好的选择。界面更简单,而且速度可能会快很多。
发布于 2011-01-29 00:50:29
http://www.cplusplus.com/reference/clibrary/cstdio/fread/有一个读取文件的示例。它是一个c++页面,但应该适用于c++。
https://stackoverflow.com/questions/4830694
复制相似问题