如何用fstream提高文件读写的效率
我有个文件,一行一个整数,总共有10w个数,也就是10w行,我用ifstream进行读取,然后对这10w个数进行排序,再将排好的这10w个数用ofstream写回文件中,其中读写文件的代码如下:
如上面两处读写文件地方注释的,每次读一行做一次操作,或者做一次操作再写一次文件,这样效率太低,怎么样才可以提高效率,减少I/O次数?
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次数?
...全文
相关推荐
C++文件读写详解[代码]
本文详细介绍了C++中文件读写操作的相关知识,主要围绕ofstream、ifstream和fstream的使用展开。内容涵盖了文件的打开与关闭、文本文件的读写、二进制文件的处理、流指针的操作以及缓存与同步机制。文章通过示例代码展示了如何利用open()函数打开文件,以及如何使用默认方式直接操作文件。同时,还介绍了状态标志符的验证、流指针的获取与设置,以及二进制文件的读写方法。此外,文章还解释了缓存和同步的概念及其在实际操作中的应用场景。
如何读写独立存储文件
如何读写独立存储文件,一个很好的学习源代码
Java 中对文件的读写操作之比较
Java 中对文件的读写操作之比较
VC++采用内存映射方式高效率读写大数据
在有时候,项目的数据量特别大,而且源源不断的到来,这个时候,利用传统的IO文件流写文件势必效率很低跟不上节奏,这时候采用内存映射提高读写效率
JAVA 文件读写操作
JAVA 文件读写操作 在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的。 InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作


