:zhjie
我想你是没明白文件这个词的概念。
更没明白在程序(所有程序,跟开发工具无关)写文件和读文件的时候所做的事情。
比如:有个这样的类
class test{
unsigned char c;
unsigned long l;
};
test x;
x.c=10;
x.n=10;
现在我把这个类的一个对象x保存到文件里,
那么文件里存的就是00001010 00000000 00000000 00000000 00001010
(这里不考虑大终端的问题),第一个字节是c,后面四个字节是n,因为long占用了四个字节
,
在读文件的时候,发生的事情刚好相反,
如果你从文件开始,读一个对象x,那么你会得到x.c=10,x.n=10
但是如果有这样的一个类的对象
class test2{
unsigned char c;
unsigned short s1;
unsigned short s2;
}
test2 x2;
如果从文件开始把文件内容读相应大小到这个对象里,是不是就读不出来呢?
显然不是。
读到的x2.c=10,x2.s1=0;x2.s2=10;
假设文件是别人的格式,你现在想知道怎么去读,那么你就得知道类test 的结构。
也就是说,这个5字节大小的文件,都有N种可能让你来猜,更何况是上K,上M的文件?
如果你有那种文件的编辑器,可以从头开始,一点点去找规律,查看它的二进制数据。