C++读取txt文档里面的实数问题
数据有很多行而且很长貌似有超过10,000,000个数吧数组装不下首先怎么读实数的问题也不大懂请教高手...
数据有很多行 而且很长 貌似有超过10,000,000个数吧 数组装不下 首先怎么读实数的问题也不大懂 请教高手
展开
1个回答
展开全部
可以用动态数组,动态分配内存。VC++ 用虚拟存储,数组大,不一定有问题。你可以试一下。
这里一次读6个数,处理6个数,给你说明如何读实数:
#include<iostream>
#include<fstream> // 头文件
using namespace std;
void main ()
{
ifstream infile;
double x[6];
int i;
infile.open ("test.txt", ifstream::in); // 打开文件
while(1){
for (i=0;i<6;i++) infile >> x[i]; // 读6个数
// 运算可以加在这里
for (i=0;i<6;i++) cout << x[i] << endl; //输出6个数
if (infile.eof()) break; //判断文件是否结束
}
infile.close(); //关闭文件。
}
===========
动态分配:
void main ()
{
ifstream infile;
double *x;
int i;
x = (double *) malloc(sizeof(double) * 10000000);
if (!x){
cout << "no enough memory for x";
}
infile.open ("test.txt", ifstream::in);
i=0;
while(1){
infile >> x[i];
if (infile.eof()) break;
cout << x[i] << endl;
i++;
}
infile.close();
}
这里一次读6个数,处理6个数,给你说明如何读实数:
#include<iostream>
#include<fstream> // 头文件
using namespace std;
void main ()
{
ifstream infile;
double x[6];
int i;
infile.open ("test.txt", ifstream::in); // 打开文件
while(1){
for (i=0;i<6;i++) infile >> x[i]; // 读6个数
// 运算可以加在这里
for (i=0;i<6;i++) cout << x[i] << endl; //输出6个数
if (infile.eof()) break; //判断文件是否结束
}
infile.close(); //关闭文件。
}
===========
动态分配:
void main ()
{
ifstream infile;
double *x;
int i;
x = (double *) malloc(sizeof(double) * 10000000);
if (!x){
cout << "no enough memory for x";
}
infile.open ("test.txt", ifstream::in);
i=0;
while(1){
infile >> x[i];
if (infile.eof()) break;
cout << x[i] << endl;
i++;
}
infile.close();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询