在运行时,我经常需要读取较大文件(300 mb)的一小部分。目前我总是打开文件,从中读取,然后像这样再次关闭它:
FILE *file =fopen(szFileName,"rb");
if (file)
{
fseek( file,iFirstByteToRead, SEEK_SET);
fread(nEncodedBytes,sizeof(unsigned char), iLenCompressedBytes, file);
fclose(file);
}
但这太慢了,因为我经常这样做。我也不确定 fread 是否可以加快速度。
请问这种情况下的最佳做法是什么?