我想出于某种原因(速度和......)使用<appSettings>
<add key="microsoft:xmldictionaryreader:maxmimeparts" value="10000"/>
</appSettings>
作为IO。我有一个不同大小的文件的文件。通过使用如下代码:
fread()
最后一行可能读不完整,我们必须在下一次试用中再次阅读最后一行,那么如何强制while( !EOF ){
fread(buffer,500MB,1,fileName);
// process buffer
}
从最后一行的开头继续?
或者如果可能的话,如何强制fread()
读取超过500MB直到达到\ n或其他特定字符?
全部谢谢
阿米尔。
答案 0 :(得分:0)
假设你有一个buffer
字节反向在位置\n
找到一个pos
字符,那么你想要回滚到缓冲区的长度减去{{1} }}。请拨打此pos
。
您可以使用step
将文件指针移回这么多:
fseek
在你的情况下
int fseek( FILE *stream, long offset, int origin );
这将涉及重新阅读部分文件,以及相当多的跳跃 - 评论提出了可能更快的替代方法。