各位大哥,你们好!
我呢,现在有一个文本文件,里边放的是实型数据,而且呢,在两个实型数局之间还有空格,我呢,现在怎样能把每个实型数局读出放在我的定义好的数组中!我用下面的代码,不行!我应该怎样呢??
float a[2000];
CFile myfile;
myfile.open("文本文件的路径",CFile::modeRead);
myfile.Read(a,myfile.Getlen());
上边的代码就是不行,这是怎么回事??
大哥们,我的文本格式如下:文件名dat.txt
0.000000 4.882812 0.000000 12.207030
2.441406 4.882812 -7.324218 12.207030
0.000000 4.882812 -7.324218 12.207030
2.441406 7.324218 -9.765624 12.207030
0.000000 4.882812 -9.765624 12.207030
2.441406 7.324218 -9.765624 12.207030
0.000000 7.324218 -9.765624 12.207030
0.000000 4.882812 -7.324218 12.207030
2.441406 4.882812 -7.324218 14.648436
0.000000 4.882812 -7.324218 12.207030
2.441406 7.324218 -7.324218 12.207030
2.441406 4.882812 -7.324218 12.207030
2.441406 7.324218 -9.765624 12.207030
2.441406 7.324218 -7.324218 12.207030
2.441406 7.324218 -7.324218 12.207030
0.000000 7.324218 -7.324218 12.207030
2.441406 4.882812 -7.324218 12.207030
0.000000 7.324218 -7.324218 14.648436
2.441406 7.324218 -7.324218 9.765624
2.441406 7.324218 -9.765624 12.207030
0.000000 4.882812 -7.324218 12.207030
0.000000 4.882812 -7.324218 12.207030
2.441406 7.324218 -7.324218 12.207030
我呢,现在有一个文本文件,里边放的是实型数据,而且呢,在两个实型数局之间还有空格,我呢,现在怎样能把每个实型数局读出放在我的定义好的数组中!我用下面的代码,不行!我应该怎样呢??
float a[2000];
CFile myfile;
myfile.open("文本文件的路径",CFile::modeRead);
myfile.Read(a,myfile.Getlen());
上边的代码就是不行,这是怎么回事??
大哥们,我的文本格式如下:文件名dat.txt
0.000000 4.882812 0.000000 12.207030
2.441406 4.882812 -7.324218 12.207030
0.000000 4.882812 -7.324218 12.207030
2.441406 7.324218 -9.765624 12.207030
0.000000 4.882812 -9.765624 12.207030
2.441406 7.324218 -9.765624 12.207030
0.000000 7.324218 -9.765624 12.207030
0.000000 4.882812 -7.324218 12.207030
2.441406 4.882812 -7.324218 14.648436
0.000000 4.882812 -7.324218 12.207030
2.441406 7.324218 -7.324218 12.207030
2.441406 4.882812 -7.324218 12.207030
2.441406 7.324218 -9.765624 12.207030
2.441406 7.324218 -7.324218 12.207030
2.441406 7.324218 -7.324218 12.207030
0.000000 7.324218 -7.324218 12.207030
2.441406 4.882812 -7.324218 12.207030
0.000000 7.324218 -7.324218 14.648436
2.441406 7.324218 -7.324218 9.765624
2.441406 7.324218 -9.765624 12.207030
0.000000 4.882812 -7.324218 12.207030
0.000000 4.882812 -7.324218 12.207030
2.441406 7.324218 -7.324218 12.207030
解决方案 »
- Bezier曲线的平移旋转
- vc如何得到excel中工作表的名称
- 写WinSocket程序的时候要引进WS2_32.LIB和MSWSOCK.DLL,请问在VS2005中怎么引入?
- Release可以用,Debug不可以用,为什么
- 哪有屏幕区域抓图源程序
- 有谁知道如何得到某个Tif图片的宽和高吗?(PictureBox 不支持这种格式) 有这样的控件或函数吗?
- 救命阿!我的vc出问题了~~~~
- 新手报到,多多关照
- MFC 单线程下出现假死应该怎么办?
- 有没有谁知道像 VC 一样能编辑资源的好东东?我用 VC 6 不能以资源方式打开 UEDIT32.EXE!
- 怎样在同一条SQL语句中访问两个库?
- 编译问题----怪事
i try ,but it doesnot work!!
float a[2000];
CFile myfile;
myfile.open("文本文件的路径",CFile::modeRead|CFile::typeText);
myfile.Read(a,myfile.Getlen());或
float a[2000];
FILE *myfile;
myfile=fopen("文本文件的路径","rt");
fscanf(myfile,"%f",a[i]);行不行?
CFile myfile;
myfile.open("文本文件的路径",CFile::modeRead);
iLen=myfile.Read(strFile.GetBuffer(myfile.GetLen),myfile.Getlen());
strFile.ReleaseBuffer();
for(iPos=0;iPos<iLen;iPos+=10)
{
atof(strFile.Mid(iPos,8))
}
myFile.close();
你的文件格式我不太清楚,所以for循环你自己调整一下
double data[4];
char c; while(!feof(fp))
{
fscanf(fp,"%lf%lf%lf%lf\n",&data[0],&data[1],&data[2],&data[3],&c);
//...
}
CString store;
try
{
fp.ReadString(store);
}
catch(CFileException *file)
{
file->ReportError();
}
{
ifstream in(filename);
float a[10000]; int i = 0;
while(!in.eof()){
in >> a[i++];
} int n = i;
for(i = 0; i < n; i++){
cout << a[i] << "\t";
if(i % 4 == 0 && i != 0) cout << endl;
}
}
char bb[255];
ifstream f("filename");
char buff[255]=f.getline();
ostrstream buffer(bb,ios::in|ios::out);
buffer<<buff;
buffer>>value1>>value2>>value3; value存放每一列数据,类型自己定义。
这样的话就以可以了,你读的数据就是value1=0.000000
value2=4.882812
value3=0.000000
value4=12.207030
处理这些数据并循环GETLINE。
char bb[255];
ifstream f("filename");
char buff[255]=f.getline();
ostrstream buffer(bb,ios::in|ios::out);
buffer<<buff;
buffer>>value1>>value2>>value3; value存放每一列数据,类型自己定义。
这样的话就以可以了,你读的数据就是value1=0.000000
value2=4.882812
value3=0.000000
value4=12.207030
处理这些数据并循环GETLINE。