关于C++文件读取
2012-09-16 13:50
323 查看
#include <ctime> #include <stdio.h> #include <time.h> #include <stdlib.h> #include <iostream> #define N 10000000 //一千万 int a[N+1]; void File() //用于产生文件的随机数 { int i ; freopen("abc.txt","w",stdout); srand( (unsigned)time( NULL ) );//初始化随机数 for( i = 0; i < N;i++ ) printf( " %d\n", rand() ); } void read_cin() { //std::ios::sync_with_stdio(true); //默认的 for(int i=0; i<N; i++) std::cin>>a[i++]; } void read_scanf() { for(int i=0; i<N; i++) scanf("%d",&a[i++]); } void read_cin_syn() { //std::ios::sync_with_stdio(false); for(int i=0; i<N; i++) std::cin>>a[i++]; } int main() { freopen("abc.txt","r",stdin); int start = clock(); read_cin_syn(); printf("%.4lf\n",double(clock()-start) / CLOCKS_PER_SEC); return 0; } #include <ctime> #include <stdio.h> #include <time.h> #include <stdlib.h> #include <iostream> #define N 10000000 //一千万 int a[N+1]; void File() //用于产生文件的随机数 { int i ; freopen("abc.txt","w",stdout); srand( (unsigned)time( NULL ) );//初始化随机数 for( i = 0; i < N;i++ ) printf( " %d\n", rand() ); } void read_cin() { std::ios::sync_with_stdio(true); //默认的 for(int i=0; i<N; i++) std::cin>>a[i++]; } void read_scanf() { for(int i=0; i<N; i++) scanf("%d",&a[i++]); } void read_cin_syn() { std::ios::sync_with_stdio(false); for(int i=0; i<N; i++) std::cin>>a[i++]; } int main() { freopen("abc.txt","r",stdin); int start = clock(); read_cin(); printf("%.4lf\n",double(clock()-start) / CLOCKS_PER_SEC); return 0; }
测试 cin,scanf,cin_syn的运行时间:
平台: vc6.0 minGw c
scanf: 1.3590 1.4200
cin: 3.700 4.8650
cin_syn: 3.0340 1.5140
平台: win7
用std::ios::sync_with_stdio(false);取消同步之后,读入数据的速度 在minGw中显著加快。 scanf()表吸良好。
:::vc 开发环境, minGw , linux gcc开发环境细节方面有很多不一样的地方,细节实现不一样,伤不起啊
相关文章推荐
- 关于C++二进制文件读取转换,数据版本升级,增加字段等结构调整工具的思路。
- 关于C++文件读取
- 一个关于读取指定路径下文件名称的小工具(C++)
- C/C++中关于文件的读取和输出
- 关于c++中txt文件的读取操作
- 关于C++读取Lua配置文件实现案例
- 【备忘】java读取c++ fwrite写的文件
- 使用iostream与iostream.h区别 关于C++中头文件使用
- 探寻C++最快的读取文件的方案
- 关于c++中的文件操作
- 使用ifstream和getline读取文件内容[c++]
- 关于ECW文件格式读取
- c++使用getline和ifstream读取文件
- c++读取csv文件和写入文件
- 关于JQuery加载本地JSON文件无法读取(权限不足的)解决
- Unity下关于C#的文件读写二(文件夹的读取)
- 从C++文件中读取数据到vector的简捷方法
- linux下C++读取文件,获取文件大小。
- 关于java读取和写入properties配置文件的内容
- C\C++关于string.h头文件和string类 using namespace std