| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4414 人关注过本帖
标题:我只要数据,求int赋值给char办法。
只看楼主 加入收藏
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
结帖率:95.24%
收藏
已结贴  问题点数:20 回复次数:8 
我只要数据,求int赋值给char办法。
如题。
程序代码:
//例如这样,我需要把int类型的数据放入指定内存,但是该内存已经初始化为char了。
int temp=10;
unsigned char *a;
a=(unsigned char *)calloc(temp);
*(a+6)=temp;//从a+6开始存入4个字节的数据,有办法达到这样的效果吗?
搜索更多相关主题的帖子: 数据 
2011-08-23 12:30
无诲今生
Rank: 8Rank: 8
来 自:桂林理工大学
等 级:蝙蝠侠
威 望:2
帖 子:373
专家分:726
注 册:2009-5-11
收藏
得分:20 
需要把int类型的数据放入指定内存,但是该内存已经初始化为char了
------------------------------
这样就会把char的内容复盖掉。。

从a+6开始存入4个字节的数据,有办法达到这样的效果吗?
--------------------
从a+6开始处再分配4个字节的空间来存放int(前提是在a+6开始处的4个字节空间是可读写的)


顺境逆境切莫止境,得意失意切莫在意。
2011-08-23 12:57
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
收藏
得分:0 
虽然已经找到解决方法了,但还是很感谢楼上的关注。
*(int *)(a+6)=temp;

一个单片机就让我头疼不已~~~
2011-08-23 13:18
lin471306489
Rank: 4
等 级:业余侠客
帖 子:136
专家分:247
注 册:2011-8-16
收藏
得分:0 
能详细的讲解下吗/
2011-08-23 15:27
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
calloc不是需要两个参数吗?
可以用 memcpy(a + 6, &temp, sizeof(int));

My life is brilliant
2011-08-23 16:22
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
收藏
得分:0 
回复 4楼 lin471306489
a+6是一个char指针的值,将指针强制转换为int指针,也就是在赋值时识别a+6为int类型的指针,按int赋值的方式赋值。
额……大约是这个意思,具体的我也不懂了。

一个单片机就让我头疼不已~~~
2011-08-23 16:30
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
收藏
得分:0 
回复 5楼 lz1091914999
嗯,确实是要两个参数,我上面写错了。

一个单片机就让我头疼不已~~~
2011-08-23 16:30
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
一定要把指针的类型转化成整形 这样取内容的时候才能取4个字节

                                         
===========深入<----------------->浅出============
2011-08-23 16:41
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 6楼 dreamofgod
TC里int可是2个字节,保险你还得用long。

My life is brilliant
2011-08-23 17:09
快速回复:我只要数据,求int赋值给char办法。
数据加载中...
 
   



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

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