C++Builder 程序员博客
2 Sep
程序要从一个文本文件中读取数据,因为这个文本文件较大,大概有10M,用Memo的话,容量不够,(Memo1->Lines->LoadFromFile("C:\\log\\one.txt");)只能载入5M左右,用RichEdit又太慢,程序要对这个文件的每一行进行判断处理,请问用什么控件好,怎么做效率高?
刚试过了,读取20M的文件肯定是没问题的
这些控件都是快速编程用的,如果文件大量数据的话,
还是用传统的文件功能处理,占资料少,速度快,
效率高,fopen()文本文件可以处理行
TStringList装载文件还是很快的,20M的文件读入只花了大概不到3秒钟,
而且我核对了读取的行数、读取的最后几行数据,证明确实是完整无误的读入了
当然,也可以用TFileStream或者FILE等来读,但如果是纯字符文本且需要断行的话,还是TStringList吧
先试试看
请问你是怎么装载的啊?是用LoadFromFile吗?
是的:
TStringList *list=new TStringList();
list->LoadFromFile("C:\\log\\one.txt");
TStringList *t1=new TStringList();
t1-> LoadFromFile("C:\\log\\one.txt");
for (int i=0;i <t1->Count;i++)
{
//对文件进行处理判断
}
delete t1;
TStringList *t1=new TStringList(); t1-> LoadFromFile("C:\\log\\one.txt"); for (int i=0;i <t1->Count;i++) { //对文件进行处理判断 } delete t1;
谢谢各位