100分 求救c# 写出的二进制文件中 string型 在C++中如何读取
c# 写出的二进制文件中 string型 在C++中如何读取,
c#中
FileStream fs = new FileStream(saveFileName, FileMode.CreateNew, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(Convert.ToString(dtable.Rows[i][0]));
bw.Write(Convert.ToDouble(dtable.Rows[i][1]));
bw.Write(Convert.ToDouble(dtable.Rows[i][2]));
bw.Write(Convert.ToDouble(dtable.Rows[i][3]));
bw.Write(Convert.ToDouble(dtable.Rows[i][4]));
bw.Write(Convert.ToDouble(dtable.Rows[i][5]));
在c++中
FILE *fp;
CString sPmFile=_T("d:\\ffb\\T-GL.dat");
if((fp = fopen(sPmFile,"rb")) == NULL)
{
return ;
}
double a1,a2,a3,a4,a5,a6,a7,a8;
int b1,b2,b3;
char ;
fread(strJdname,sizeof(char),128,fp);
fread(&a1,sizeof(double),1,fp);
fread(&a2,sizeof(double),1,fp);
fread(&a3,sizeof(double),1,fp);
fread(&a4,sizeof(double),1,fp);
fread(&a5,sizeof(double),1,fp);
我试过。别的数据类型double int 都行。 string型的数据不知道怎么读取 strJdname[128]的长度怎么定啊?
如果吧string型 屏蔽掉。 剩下的double 和int 都能顺利读出来?