C ++读取文件中的编译错误

时间:2016-11-07 16:46:51

标签: c++ file c++11 error-handling compiler-errors

我用g ++编译了一个.cpp文件,我唯一的错误是这样的:

histogram.cpp:24:26: error: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Werror=unused-result]
 fread(&altura,4,1,fp);
                      ^

我知道我正在使用一个非常严格的标志,将警告视为错误,但试图解决这个错误我失败了,所以如果有人可以为这个问题带来一些启示,我将非常高兴。 我正在使用的标志是:

g++ -std=c++11 -Wall -Werror -O3  histogram.cpp -o histogram

谢谢。

1 个答案:

答案 0 :(得分:3)

我猜你不使用“fread”的返回值,你需要这样的东西:

  size_t result = fread (buffer, 1, lSize, pFile);
  if (result > 0) 
  // do smthng

而不是

fread (buffer,1,lSize,pFile);