| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1031 人关注过本帖, 1 人收藏
标题:C类型转换问题
取消只看楼主 加入收藏
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:7 
C类型转换问题
有如下需求:
某个文件里面存储了如下值(以十六进制方式存储):
。。。。。03003200 09008001 ffff0000 00000000 00000000 00000000 00800000
每2位表示一个字节,比如03是一个字节,00是一个字节,32也是一个字节
现在以每个字节读取文件内容放入一个字符数组

比如我将03 放入数组str[36],00放入数组str[37]

有个特殊需求就是0300这2个字节表示一个特殊含义
0300在Linux上是反着存储的,所以本来的实际值应该是0003,然后再用0x00ff与0003得到3
怎么用C语言获得0003?

搜索更多相关主题的帖子: 十六进制 C语言 Linux 
2011-08-23 15:37
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
回复 2楼 TonyDeng
我对你的回答表示很遗憾
2011-08-23 16:24
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
2位大哥不要吵架
看一下这个需求
。。。。。03003200 09008001 ffff0000 00000000 00000000 00000000 00800000
我想直接读出 0300 该怎么读呢?
我定义了一个char[] 以每字节读取 但是 读出来03 变成3 , 00变成0 该怎么定义可以让读出的数据也是03,00
2011-08-23 16:29
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
我日 你们2个有仇也帮忙解决问题了来嘛
2011-08-23 17:52
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
回复 9楼 hahayezhe
还是这位哥们好,

printf("%02x")解决了显示问题。。。但是怎么存储呢?
2011-08-23 19:38
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
回复 13楼 lz1091914999
fscanf 这个函数是一次读取一个字符吧?
因为有非常多数据要处理 多的时候上G,T 都有可能,那采用这个函数会有性能问题吧?
目前我用的时fread,一次读取8k
但是就是不知道 怎么将0c008001 按照0c 00 80 01 读出来 存成 16进制
2011-08-23 22:57
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
回复 19楼 voidx
记事本打不开,用UE打开
2011-08-24 13:01
Robinson1988
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-8-23
收藏
得分:0 
感谢各位的热情帮忙,最后我知道怎么做了用移位操作 。谢谢大家
2011-08-24 17:47
快速回复:C类型转换问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016217 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved