CB中定义的10个字节的char,到了delphi中却只能用string[9]才能保证位数正确,但是却读到得内容是错的
CB中的定义:
struct AAA
{float a1;
char a2[10],a3[10];
float a4,a5,a6;
}
delphi 中我是这样定义的
TpRec =Packed Record
a1:Single ;
a2:string[9];
a3:string[9];
a4:Single ;
a5:Single ;
a6:Single ;
end;
这样才能保证位数正确,但是a2,a3的内容就不正确了,请各位大哥帮忙,十分急,在线等待,不够分可以再加
CB中的定义:
struct AAA
{float a1;
char a2[10],a3[10];
float a4,a5,a6;
}
delphi 中我是这样定义的
TpRec =Packed Record
a1:Single ;
a2:string[9];
a3:string[9];
a4:Single ;
a5:Single ;
a6:Single ;
end;
这样才能保证位数正确,但是a2,a3的内容就不正确了,请各位大哥帮忙,十分急,在线等待,不够分可以再加
TpRec =Packed Record
a1:Single ;
a2:array[0..9] of char;
a3:string[0..9] of char;
a4:Single ;
a5:Single ;
a6:Single ;
end;
Delphi中记录中的string[n]是pascal的短字符串,该串格式为串长+串,因此对于string[9],存入文件时为:$9$?$?....
读出的时候也是,也就是说,读的时候,它错误的把第一个字符认为是
该串的串长。
[email protected],再次感谢!!!