C++文件写入速度

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:56:24
在VC++里用fstream类新建一个文件并写入,cout<<a[i]<<' '<<b[i]<<endl;
但是感觉速度很慢,和fortran不能比的。。。
不知道如何提高速度,用fput,fwrite或fprintf会不会快一点?
谢谢
我的程序很简单的
就是:
ofstream f1("xxx.txt",ios_base::app);
for(i=1;i<=N;i++) f1<<a[i]<<' '<<b[i]<<endl; //N=1024
f1.close();
实际写入时,每次计算完后a[i]和b[i]都会变,所以就继续添加写入文件
一般写入1000*1024个

应该是差不多的,说不定有些情况,C++还要快一些,如fprintf() 要分析字符串来动态确定传入的数据类型。cout 在编译器通过重载已经把类型确定下来了,而且其输出那些运算符重载函数都可以内联 。

应该会快点

理论上用户想要做的最快就直接使用Windows的API,因为这些C函数在windows操作系统上归根结底都是调用API的
不过就你这个问题而言,现代cpu以及编译器都已经相当强悍了,不太可能让你感觉很慢,要么是你程序写的不太对头,要么是你的错误
最好把代码贴出来,自己不信服的话可以用测量时间的函数自己看看速度到底如何

会快很多……
c++iostream的异常处理太占用时间

显然fprintf要快的多,不信你读一百万个数写一百万个数,马上就有质的差别。我见过还有更快的。。只是太复杂了。。