原帖由 mike_chen 于 2006-4-18 17:07 发表
循环把文件读到一个缓冲里,再把缓冲里的数据以‘\n’为分隔符分开
原帖由 snow888 于 2006-4-18 17:19 发表
这个思路有问题,如果文件很大,可能会出现先分配的缓冲不够的现象。
建议楼主看看 vim 的原程序。
原帖由 思一克 于 2007-6-2 21:07 发表
一个一个BYTE读判断回车慢. 不行.
全读进来也不行.
最快的方法:
开一个buffer,大小可以是256到1024都可以. 一次read进来buffer大小,
然后调用strchr(buffer, '\n')找.
关键是要用strchr, strcpy, memcp ...
原帖由 flw2 于 2007-6-2 23:05 发表
如果行的长度是3-30M,那么这个方法还是很糟糕。肯定没有fgets快。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |