免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1695 | 回复: 1
打印 上一主题 下一主题

[其它] linux简单的c++ long类型数据写文件不一致,郁闷 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-09 17:03 |只看该作者 |倒序浏览
我在把一个树的结点写文件时,记录了结点的开始地址,然后将开始地址赋给了父节点的孩子数组里面,地址类型我定义的long型

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


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


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

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

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

论坛徽章:
0
2 [报告]
发表于 2013-12-09 17:07 |只看该作者
下面是我运行正常的情况,同样是一棵树,怎么在文件中的文件指针偏移量怎么就不一样呢?
###############################################写树树的信息
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP