免费注册 查看新帖 |

Chinaunix

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

[C] 一个简单的C类型转换问题 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2012-08-16 07:32 |显示全部楼层
回复 1# leecapacity
先不说取出来可不可以 我好奇的是你是怎么把这些字节存进去的

这么做的目的在于什么,为什么不用结构体呢


   

论坛徽章:
0
2 [报告]
发表于 2012-08-16 07:51 |显示全部楼层
回复 1# leecapacity
这种类型转换是可以的 不会有问题 但是转换的时候要注意字节序的问题 另外你是char的数字 转换为short和int时要转移在字符和数之间的转换(需要查ASCII表)


   

论坛徽章:
0
3 [报告]
发表于 2012-08-16 19:07 |显示全部楼层
回复 4# leecapacity
这个转换是完全可以的 因为无论你存储的何种类型 表示在存储器中肯定是二进制代码 所谓的类型只是在使用的时候 人为设计的 所以 你可以往内存里写入两个char(对应两字节)然后在对应的位置读出个short 存放时会按照char的规则把字符放到一个字节里面去 读出的时候 类型是short 所以会取连续的两个字节 这个时候好像要分大小端 我昨晚测试了一个例子 然后在char和short之间做了计算 发现刚好吻合  你可以写个例子


   

论坛徽章:
0
4 [报告]
发表于 2012-08-16 19:18 |显示全部楼层
回复 6# kelvin_fly
二进制文件是不加解释直接传给调用者  文本文件也是ASCII文件 内核会把它按7位ASCII解释成字符传给调用者(因为ASCII只使用7位,还有就是ASCII文件只使用0x20-0x79 外加LF CR TAB) 这个应该是两种文件的本质不同吧


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP