如何用fstream提高文件读写的效率

huagong_adu huagong_adu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我有个文件,一行一个整数,总共有10w个数,也就是10w行,我用ifstream进行读取,然后对这10w个数进行排序,再将排好的这10w个数用ofstream写回文件中,其中读写文件的代码如下:

file1.open("D:\\number.txt",ios::in);
if (!file1)
return -1;
int m = 100000;
int a = 0;
int i = 0;
while (i < m)
{
file1 >> a; //这样效率会不会太低???
//把a放进位图中
i++;
}

i = 0;
file2.open("D:\\result.txt", ios::out);
if (!file2)
return -1;
while (i < n) //遍历位图
{
if (test(i))
{
file2 << i << endl; //这样效率会不会太低???

}
i++;
}


如上面两处读写文件地方注释的,每次读一行做一次操作,或者做一次操作再写一次文件,这样效率太低,怎么样才可以提高效率,减少I/O次数?
...全文

相关推荐

评论 24
收藏 已收藏
分享
返回顶部
huagong_adu
C++ 语言 65,214 成员 250,514 内容