C中 int*怎么转为char*?

mfpl 2014-04-03 12:33:56
int*怎么转为char*?

我转换变成乱码....
...全文
1101 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
小布 2014-12-03
  • 打赏
  • 举报
回复
引用 12 楼 fwewfgs 的回复:
可以直接转么??int *指向的应该比char*指向的所占内存大吧。。。
指针类型都是4B。。。
CoolcyYu 2014-12-03
  • 打赏
  • 举报
回复
20楼正解,就是这个意思
mangoalx 2014-04-04
  • 打赏
  • 举报
回复
可以直接转,*(p+1), *(p+2),... 去访问后面的字节
xiaohuh421 2014-04-04
  • 打赏
  • 举报
回复
引用 17 楼 FrankHB1989 的回复:
扯,还有当不成“数据”的trap representation。
没懂, 英文水平有限. 百度了下"trap representation" , 上面说叫"陷阱表示". 这个词就完全不明白了. 我只知道计算机只能处理数据, 计算机除了数据, 还能处理什么呢? 而计算机里的数据都是以二进制方式存放, 如果有其它存放方式, 请指教.
FrankHB1989 2014-04-04
  • 打赏
  • 举报
回复
引用 15 楼 xiaohuh421 的回复:
int* 转换此后 char* , 然后你想用char*显示, 那乱码肯定是没得说的. 楼主是想把 int val = 12345; 转换成 char *P = "12345" 吗? 又借赵老师的话: 对于计算机来说没有乱码, 只有二进制数据, 对人才有乱码.
扯,还有当不成“数据”的trap representation。
xiaohuh421 2014-04-04
  • 打赏
  • 举报
回复
int 转换成字符串. int val = 12345; char buf'[100] = {0}; sprintf(buf, "%d", val); 到这里buf里保存的字符串就是 "12345"了
xiaohuh421 2014-04-04
  • 打赏
  • 举报
回复
int* 转换此后 char* , 然后你想用char*显示, 那乱码肯定是没得说的. 楼主是想把 int val = 12345; 转换成 char *P = "12345" 吗? 又借赵老师的话: 对于计算机来说没有乱码, 只有二进制数据, 对人才有乱码.
IT_Linux 2014-04-04
  • 打赏
  • 举报
回复
楼上正解
Adol1111 2014-04-04
  • 打赏
  • 举报
回复
引用 8 楼 lin5161678 的回复:
你是想把 123 转换成 "123" 还是当成的想用一个char* 解释 一个int?
+1 这完全是两种不同的东西 实在没理解楼主在说什么
赵4老师 2014-04-04
  • 打赏
  • 举报
回复
int i=0x41424344;
int *pi;
char *pc;
pi=&i;
pc=(char *)pi;
printf("%c%c%c%c\n",pc[0],pc[1],pc[2],pc[3]);
xiaohuh421 2014-04-04
  • 打赏
  • 举报
回复
http://www.cnblogs.com/aoaoblogs/archive/2010/08/31/1813974.html 这里有一个trap representation的解释. 但这跟数据的表示无关. 因为我们在C++程序里, 总是只能按基本数据类型去访问值. 不管是结构体也好, 数组也好. 转换成汇编都是1, 2, 4,8这样的单位却取值, 而你写不出C++代码, 让其去仅取 33bit数据或者其它非8的整数倍的数据. 如果你尝试有这样的操作, 应该会被自动对齐来操作. (以上是我的理解, 有误请指正).
mujiok2003 2014-04-03
  • 打赏
  • 举报
回复

char buf[64];
int* p;
sprintf(buf, "0x%p", p);
mfpl 2014-04-03
  • 打赏
  • 举报
回复
引用 1 楼 max_min_ 的回复:
代码贴出来看看!
我在封装SDK成OCX控件。 版主,你知道在C++控件封装中 nt*怎么转为char*吗?
max_min_ 2014-04-03
  • 打赏
  • 举报
回复
代码贴出来看看!
f_liu 2014-04-03
  • 打赏
  • 举报
回复
可以直接转么??int *指向的应该比char*指向的所占内存大吧。。。
测试NULL 2014-04-03
  • 打赏
  • 举报
回复
风行踩火轮 2014-04-03
  • 打赏
  • 举报
回复
确实没明白楼主的意思
dos5gw 2014-04-03
  • 打赏
  • 举报
回复
lz意思不明确,int*怎么转为char*? 不看上下文,(char*)强制转换 -。-||
lin5161678 2014-04-03
  • 打赏
  • 举报
回复
你是想把 123 转换成 "123" 还是当成的想用一个char* 解释 一个int?
caewow 2014-04-03
  • 打赏
  • 举报
回复
路过,围观~~
加载更多回复(3)

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧