以二进制形式存储的数据按如下顺序存在文件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
                  }实现不了我的要求,求大家帮忙!谢谢

解决方案 »

  1.   

    首先要明确,你存储2进制的数据类型,我看你的代码好像觉得是double型的,这个要明确,因为类型不一样,占有的字节数就不一样,解析就存在问题
    其次,这个文件的大小是固定的吗?还是不固定的
    还有,希望读出来后存成十进制形式的数据,存于文本文档中,格式是一行有200个数据,而且 数据与数据之间还要有空格或者“,”,“;”等隔开  一行显示不了这么多的  这个换行(“\r\n”)就显的没有意义了。建议使用CreateFile函数  打开和创建文件,用WriteFile 和ReadFile来读写文件,需要的花  我一会写一个发上来~
      

  2.   

    谢谢楼上,你说的没错,二进制是double型的。文本文档一行排不下200个数据吗?
    当然,文本不行,要能按我的排列要求存成excel之类的也可以的。求实现。感谢