读书人

写文件为什么越来越慢后面几百万条

发布时间: 2012-02-22 19:36:56 作者: rapoo

求助,写文件为什么越来越慢,后面几百万条记录简直就和爬一样
for (int i = 0 ; i < iMax; i++)
{
........ 省略部分代码
try
{
pFile = fopen(sFileName.c_str(), "a+ ");
fputs(sLine.c_str(), pFile);
}
catch(...)
{
return;
}
}
fclose(pFile)

高手来指点下,是不是一边写还要释放什么资源?

[解决办法]
把pFile = fopen(sFileName.c_str(), "a+ ");放到for循环前面
否则你要打开iMax次文件
[解决办法]
pFile = fopen(sFileName.c_str(), "a+ ");

放到外面去就可以了
[解决办法]
把数据连接成一个大缓冲区后写文件,减少写入次数。

读书人网 >C++ Builder

热点推荐