以二进制形式存储的数据按如下顺序存在文件A中:
X1 X2 X3 X4 X5 ...Xn Y1 Y2 Y3 Y4 Y5 ... Yn Z1 Z2 Z3 Z4 Z5 ... Zn ...... U1 U2 U3 U4 U5 ... Un 写一段程序,希望读出来后存成十进制形式的数据,存于文本文档中,格式如下,10000行200列的数据,数据U是最后一列第200列:
X1 Y1 Z1 ...U1
X2 Y2 Z2 ...U2
X3 Y3 Z3 ...U3
X4 Y4 Z4 ...U4
X5 Y5 Z5 ...U5
... ... ...X10000 Y10000 Z10000 ...U10000我尝试写的程序如下: double db[200];
int T=0;
while(T<=10000)
{
for(i=0;i<200;i++)
{
// 读文件A中一个数据X1,存到db[0]
nRead = f.Read(db,8); if(i==199)
{
str.Format(_T("%-.3e\n"),db[i]); // 一行结束
}
else
{
str.Format(_T("%-.3e "),db[i]);
}
// 写到输出文件
sf.WriteString(str); f.Seek(8*9999,1); // 跳到Y1
} T++; // 开始另一行 f.Seek(8*T,0); // 跳到X2
}实现不了我的要求,求大家帮忙!谢谢
X1 X2 X3 X4 X5 ...Xn Y1 Y2 Y3 Y4 Y5 ... Yn Z1 Z2 Z3 Z4 Z5 ... Zn ...... U1 U2 U3 U4 U5 ... Un 写一段程序,希望读出来后存成十进制形式的数据,存于文本文档中,格式如下,10000行200列的数据,数据U是最后一列第200列:
X1 Y1 Z1 ...U1
X2 Y2 Z2 ...U2
X3 Y3 Z3 ...U3
X4 Y4 Z4 ...U4
X5 Y5 Z5 ...U5
... ... ...X10000 Y10000 Z10000 ...U10000我尝试写的程序如下: double db[200];
int T=0;
while(T<=10000)
{
for(i=0;i<200;i++)
{
// 读文件A中一个数据X1,存到db[0]
nRead = f.Read(db,8); if(i==199)
{
str.Format(_T("%-.3e\n"),db[i]); // 一行结束
}
else
{
str.Format(_T("%-.3e "),db[i]);
}
// 写到输出文件
sf.WriteString(str); f.Seek(8*9999,1); // 跳到Y1
} T++; // 开始另一行 f.Seek(8*T,0); // 跳到X2
}实现不了我的要求,求大家帮忙!谢谢
其次,这个文件的大小是固定的吗?还是不固定的
还有,希望读出来后存成十进制形式的数据,存于文本文档中,格式是一行有200个数据,而且 数据与数据之间还要有空格或者“,”,“;”等隔开 一行显示不了这么多的 这个换行(“\r\n”)就显的没有意义了。建议使用CreateFile函数 打开和创建文件,用WriteFile 和ReadFile来读写文件,需要的花 我一会写一个发上来~
当然,文本不行,要能按我的排列要求存成excel之类的也可以的。求实现。感谢