lewin_chinaunix 发表于 2013-12-09 17:03

linux简单的c++ long类型数据写文件不一致,郁闷

我在把一个树的结点写文件时,记录了结点的开始地址,然后将开始地址赋给了父节点的孩子数组里面,地址类型我定义的long型

为了观察孩子在文件中的位置信息,我写内部结点的时候输出了每个孩子的文件指针值


然后在读树的时候,也同样输出了每个内部结点孩子的文件指针值


上面两个图片都是同一个内部节点的四个孩子的文件指针值,上面的是在写文件之前的值,下面是从文件读出来的时候的值,坑爹的是,尽然不一样?????

但是读出来的整个树,有时候是正确的,有时候是错误的,各位大神,此等错误是怎么回事儿啊?
都一个星期了,才发现是这个问题,但又不知道是怎么回事,还望各个大神指点一下!

//写树代码,out是io流,将字符串写出去,INODE表示内部结点char *type = "INODE";
out->write(type,6*sizeof(char));//读树代码,in是io流,将字符串从文件读出来char type="";
in.read(type,6*sizeof(char));

lewin_chinaunix 发表于 2013-12-09 17:07

下面是我运行正常的情况,同样是一棵树,怎么在文件中的文件指针偏移量怎么就不一样呢?:emn30:
###############################################写树树的信息
parent height:1 child:1 filepointer:95416
            my height:2 child:0 140678902320192
            my height:2 child:1 95416
            my height:2 child:2 28669392
            my height:2 child:3 28669520
parent height:1 child:3 filepointer:95770
            my height:2 child:0 140678902320192
            my height:2 child:1 95416
            my height:2 child:2 28669392
            my height:2 child:3 95770
parent height:1 child:0 filepointer:96124
            my height:2 child:0 96124
            my height:2 child:1 28552496
            my height:2 child:2 28637120
            my height:2 child:3 28637248
parent height:1 child:2 filepointer:96478
            my height:2 child:0 140678902320192
            my height:2 child:1 95416
            my height:2 child:2 96478
            my height:2 child:3 95770
parent height:1 child:0 filepointer:96832
            my height:2 child:0 96832
            my height:2 child:1 95416
            my height:2 child:2 96478
            my height:2 child:3 95770
parent height:1 child:1 filepointer:97186
            my height:2 child:0 96124
            my height:2 child:1 97186
            my height:2 child:2 28637120
            my height:2 child:3 28637248
parent height:1 child:2 filepointer:97540
            my height:2 child:0 96124
            my height:2 child:1 97186
            my height:2 child:2 97540
            my height:2 child:3 28637248
parent height:1 child:3 filepointer:97894
            my height:2 child:0 96124
            my height:2 child:1 97186
            my height:2 child:2 97540
            my height:2 child:3 97894
parent height:1 child:2 filepointer:98248
            my height:2 child:0 140678835210736
            my height:2 child:1 28510496
            my height:2 child:2 98248
            my height:2 child:3 28556080
parent height:1 child:3 filepointer:98602
            my height:2 child:0 140678835210736
            my height:2 child:1 28510496
            my height:2 child:2 98248
            my height:2 child:3 98602
parent height:1 child:1 filepointer:98956
            my height:2 child:0 140678835210736
            my height:2 child:1 98956
            my height:2 child:2 98248
            my height:2 child:3 98602
parent height:1 child:1 filepointer:99310
            my height:2 child:0 140678768101872
            my height:2 child:1 99310
            my height:2 child:2 28509344
            my height:2 child:3 28509472
parent height:1 child:0 filepointer:99664
            my height:2 child:0 99664
            my height:2 child:1 99310
            my height:2 child:2 28509344
            my height:2 child:3 28509472
parent height:1 child:3 filepointer:100018
            my height:2 child:0 99664
            my height:2 child:1 99310
            my height:2 child:2 28509344
            my height:2 child:3 100018
parent height:1 child:2 filepointer:100372
            my height:2 child:0 99664
            my height:2 child:1 99310
            my height:2 child:2 100372
            my height:2 child:3 100018
parent height:1 child:0 filepointer:100726
            my height:2 child:0 100726
            my height:2 child:1 98956
            my height:2 child:2 98248
            my height:2 child:3 98602
parent height:0 child:1 filepointer:101080
            my height:1 child:0 140678902319600
            my height:1 child:1 101080
            my height:1 child:2 28401296
            my height:1 child:3 28420320
parent height:0 child:3 filepointer:101434
            my height:1 child:0 140678902319600
            my height:1 child:1 101080
            my height:1 child:2 28401296
            my height:1 child:3 101434
parent height:0 child:2 filepointer:101788
            my height:1 child:0 140678902319600
            my height:1 child:1 101080
            my height:1 child:2 101788
            my height:1 child:3 101434
parent height:0 child:0 filepointer:102142
            my height:1 child:0 102142
            my height:1 child:1 101080
            my height:1 child:2 101788
            my height:1 child:3 101434
###############################################################读树的树的信息
child 0 filePointer:102142
child 1 filePointer:100726
child 2 filePointer:101788
child 3 filePointer:101434
3 height: 1 nodeNumber: 1 internal node child Number: 4 leaf node child number:0
child 0 filePointer:96124
child 1 filePointer:96478
child 2 filePointer:95416
child 3 filePointer:97540
child 0 filePointer:99664
child 1 filePointer:100372
child 2 filePointer:100018
child 3 filePointer:99310
child 0 filePointer:95770
child 1 filePointer:101080
child 2 filePointer:96832
child 3 filePointer:97186
child 0 filePointer:98602
child 1 filePointer:98956
child 2 filePointer:97894
child 3 filePointer:98248
15 height: 2 nodeNumber: 4 internal node child Number: 16 leaf node child number:0
child 0 filePointer:65636
child 1 filePointer:67030
child 2 filePointer:68524
child 3 filePointer:77488
child 0 filePointer:70018
child 1 filePointer:73006
child 2 filePointer:71512
child 3 filePointer:81970
child 0 filePointer:61154
child 1 filePointer:59660
child 2 filePointer:62648
child 3 filePointer:64142
child 0 filePointer:78982
child 1 filePointer:80476
child 2 filePointer:86452
child 3 filePointer:89440
child 0 filePointer:0
child 1 filePointer:2988
child 2 filePointer:1494
child 3 filePointer:4482
child 0 filePointer:53684
child 1 filePointer:52190
child 2 filePointer:55178
child 3 filePointer:58166
child 0 filePointer:11952
child 1 filePointer:13446
child 2 filePointer:49202
child 3 filePointer:50696
child 0 filePointer:5976
child 1 filePointer:8964
child 2 filePointer:7470
child 3 filePointer:10458
child 0 filePointer:37350
child 1 filePointer:41732
child 2 filePointer:40238
child 3 filePointer:44720
child 0 filePointer:32868
child 1 filePointer:35856
child 2 filePointer:34362
child 3 filePointer:38744
child 0 filePointer:83464
child 1 filePointer:84958
child 2 filePointer:74500
child 3 filePointer:75994
child 0 filePointer:87946
child 1 filePointer:93922
child 2 filePointer:90934
child 3 filePointer:92428
child 0 filePointer:14940
child 1 filePointer:17928
child 2 filePointer:20916
child 3 filePointer:31374
child 0 filePointer:23904
child 1 filePointer:28386
child 2 filePointer:22410
child 3 filePointer:26892
child 0 filePointer:43226
child 1 filePointer:46214
child 2 filePointer:47708
child 3 filePointer:56672
child 0 filePointer:16434
child 1 filePointer:19422
child 2 filePointer:29880
child 3 filePointer:25398
页: [1]
查看完整版本: linux简单的c++ long类型数据写文件不一致,郁闷