struct _aa{ char bb[3]; char cc[1]; char dd[8]; } _aa ff; 比如像这样。 myFile.read(&ff, sizeof(_aa));
这样可以吗? 如果ff.bb = "1.0"; ff.cc = "0"; ff.dd = "00000100";
cstring str; str.format("%s", ff.dd); 是应该等于 00000100吗? 为什么我在release下,str输出的是000001001.0000000100 可以 存放字符串要记住'\0'
二进制的文件
str.format("%s", ff.dd); 这个写法也是有问题的。因为ff.dd字符数组的结尾并没有终止符\0。因此在格式化时,会自动找到内存中ff.dd后的第一个\0为止。这个内容是不可预测的。因此你不能这么格式化处理。可以通过内存拷贝到CString对象
|