原txt文件里面,是按行存储一些中文、英文字符,每行都有一个以上的 ‘|’ 字符,一共有30多万行。我想按照所在行的内容里面的 ‘|’字符个数来排序,也就是,把所有行中,每行只有一个 '|' 字符的,排在前面,每行有2个的,排在其次,其它的以此类推。
有点像“畸形”的金字塔,少的在上面,多的在下面,堆积起来。
我在VC 里面的做法是,把前面读取进来的(以文本方式读取进来)字符串,以换行符 CRLF 为标志,逐行读取到一个临时字符串 tem 中,然后,判断这个临时字符串tem 里面有 n 个 '|'字符,然后把它存储到专门存储 n 个 ‘|’字符的字符串里,当把内存中的30多万行都读取完后,也就分析完毕了,然后,依次 把存储一个‘|’字符、存储两个‘|’字符、存储三个 ‘|’字符、、、的字符串内容写入到一个新的 txt文件里面。
但是,发现这样做,速度很慢,我试过不用线程、用单线程、用多线程来分析,效果都一样,非常慢。(如果要分析的 txt 内容比较小,比如几百KB,当然没问题)。
各位大侠,应该用什么方法来实现我的这个功能呢?
谢谢指点!