在运行时,我经常需要读取更大文件(300 MB)的小部分内容。目前我总是像这样打开文件,从中读取数据,然后再关闭文件:
FILE *file =fopen(szFileName,"rb");
if (file)
{
fseek( file,iFirstByteToRead, SEEK_SET);
fread(nEncodedBytes,sizeof(unsigned char), iLenCompressedBytes, file);
fclose(file);
}
但是这种频繁的操作太慢了。同时,我也不确定fread能否加速。
对于这种情况,最佳实践是什么,请问?