| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 825 人关注过本帖
标题:关于字符串转换的问题!
只看楼主 加入收藏
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
结帖率:70.59%
收藏
已结贴  问题点数:50 回复次数:10 
关于字符串转换的问题!
typedef struct tagA
{   
     char i;
     char j;
     int k;
}A;
A a;
C语言用二进制方式打开文件,怎样把一个十六进制0x41以二进制方式分别写给结构体的各个成员  a.i;a.j;a.k;
最好有实例,谢谢!
搜索更多相关主题的帖子: 字符 
2010-12-12 17:29
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:0 
计算机内存中的数据本来就是2进制
这个和编程没多大关系吧 不太明白

[ 本帖最后由 ml232528 于 2010-12-12 23:32 编辑 ]

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2010-12-12 23:30
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
二进制 自己转化呀  很简单的  用个栈就可以了

                                         
===========深入<----------------->浅出============
2010-12-13 19:25
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
收藏
得分:0 
以下是引用ml232528在2010-12-12 23:30:28的发言:

计算机内存中的数据本来就是2进制
这个和编程没多大关系吧 不太明白
呵呵,你是没弄明白我的问题。需要向结构体里的每个成员写入十六进制0x41并生成一个文件,但成员里有char型,,a.i=0x41,这里我怎样赋值给成员的问题,文件生成后,用HEdit此类的二进制查看器打开文件后,显示为:0x000000414141
2010-12-13 21:13
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
收藏
得分:0 
以下是引用laoyang103在2010-12-13 19:25:27的发言:

二进制 自己转化呀  很简单的  用个栈就可以了
谢谢你的指教,由于刚接触C++还不太明白,可以给个函数或者代码?我给分数给你。
2010-12-13 21:15
smart_sun
Rank: 2
等 级:论坛游民
帖 子:3
专家分:54
注 册:2010-12-14
收藏
得分:50 
#include<stdio.h>
void main()
{
 char c[16];
 int a[16][4]={0};
 int i=0,j;
 scanf("%s",c);---->>以字符串形式输入
 while(c[i])--------->>>把字符串的每一位还原为数字
  {
   if(c[i]>'0'&&c[i]<'9')
    c[i]=c[i++]-48;
   else if(c[i]>='A'&&c[i]<='Z')
    c[i]=c[i++]-55;
   else if(c[i]>='a'&&c[i]<='z')
    c[i]=c[i++]-87;
   else
   {
    puts("error\n");
    return;
   }
 }
 i=0;
 while(c[i])---》》》每一位分解为四位,注意输出顺序就可以了
{
  for(j=3;j>=0;j--)
  {
   a[i][j]=c[i]%2;
   c[i]/=2;
  }
  for(j=0;j<4;j++)
   printf("%d",a[i][j]);
  i++;
 }
}
2010-12-14 09:07
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:0 
赋值还是一样的, 写文件的时候直接将结构写入. 从你的要求看得把 int 放到第一个位置.
2010-12-14 13:02
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
如果6楼的没写错   应该就可以

                                         
===========深入<----------------->浅出============
2010-12-14 15:22
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
收藏
得分:0 
以下是引用makebest在2010-12-14 13:02:41的发言:

赋值还是一样的, 写文件的时候直接将结构写入. 从你的要求看得把 int 放到第一个位置.
呵呵,写反了,不好意思,要求错误,大体是写进去!
2010-12-14 21:07
lanriver
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:133
专家分:101
注 册:2008-8-9
收藏
得分:0 
以下是引用smart_sun在2010-12-14 09:07:48的发言:

#include
谢谢!
2010-12-14 21:33
快速回复:关于字符串转换的问题!
数据加载中...
 
   



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

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