请问个字符串中取整数以及把整数存放到字符串中的问题
我在看一个System V消息队列的视频时,看到老师在讲从字符串的开头4个字符中取整数(前4个字符
一定是整数),他的代码是类似这样的:
char str[]="5678HelloWorld";
int a;
a=*((int*)str);
printf("a=%d\n",a);
可是我输出的确不是5678;请问为什么?怎么做?
另外他在讲把一个整型存放到一个字符串的前4位,
代码类似这样的:
char str;
int a=5678;
*((int*)str)=a;
printf("str=%s\n",str);
可是我输出的也不是5678,请问为什么?怎么做?
(我是在linux下做的) "5678" = 0x35363738,或者0x38373635
---
sprintf(buf, "%d", 5678);
这样buf中才是“5678” atoi("5678"), 這個才是 netdoger 发表于 2016-06-21 15:15 static/image/common/back.gif
我在看一个System V消息队列的视频时,看到
老师在讲从字符串的开头4个字符中取整数(前4个字符
一定是整 ...
啥老师啊!!! 我猜你代码复演错了吧,你老师放进去的是整型值5678,而非字符串"5678"#include <stdio.h>
int main( void )
{
char s;
// 放进去
*((int*)s) = 5678;
// 取出来
int v = *((int*)s);
printf( "%d\n", v );
} 回复 5# bruceteen
应该这是对的
netdoger 发表于 2016-06-21 15:15 static/image/common/back.gif
我在看一个System V消息队列的视频时,看到
老师在讲从字符串的开头4个字符中取整数(前4个字符
一定是整 ...
你看到是ascii
机器看到的是5678是数字 天啦噜,,,,,,,
页:
[1]