c/c++ fread

570 阅读1分钟

使用fread时缓冲数组类型要对应

例:

FILE *fp = fopen("filepath", "rb");
const bufferSize = 1024000;
int16_t buffer[bufferSize]{0};
int reads = 0;
while((reads=fread(buffer, sizeof(int16_t), bufferSize, fp))) {
    ...
}

在上面的例子中如果文件的字节数为奇数,则可能导致内存错误而崩溃,所以读取二进制文件一般应采用单字节类型(char u_char int8_t uint8_t)