首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

,写文件为什么越来越慢,后面几百万条记录简直就和爬一样

2012-02-22 
求助,写文件为什么越来越慢,后面几百万条记录简直就和爬一样for(inti0iiMaxi++){........省略部分代码

求助,写文件为什么越来越慢,后面几百万条记录简直就和爬一样
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+ ");

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

热点排行