亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
請問個字符串中取整數以及把整數存放到字符串中的問題
[打印本頁]
作者:
netdoger
時間:
2016-06-21 15:15
標題:
請問個字符串中取整數以及把整數存放到字符串中的問題
我在看一個System V消息隊列的視頻時,看到
老師在講從字符串的開頭4個字符中取整數(前4個字符
一定是整數),他的代碼是類似這樣的:
char str[]="5678HelloWorld";
int a;
a=*((int*)str);
printf("a=%d\n",a);
可是我輸出的確不是5678;請問為什么?怎么做?
另外他在講把一個整型存放到一個字符串的前4位,
代碼類似這樣的:
char str[100];
int a=5678;
*((int*)str)=a;
printf("str=%s\n",str);
可是我輸出的也不是5678,請問為什么?怎么做?
(我是在linux下做的)
作者:
hellioncu
時間:
2016-06-21 15:20
"5678" = 0x35363738,或者 0x38373635
---
sprintf(buf, "%d", 567
;
這樣buf中才是“5678”
作者:
qianguozheng
時間:
2016-06-21 16:37
atoi("5678"), 這個才是
作者:
yulihua49
時間:
2016-06-21 21:08
netdoger 發(fā)表于 2016-06-21 15:15
我在看一個System V消息隊列的視頻時,看到
老師在講從字符串的開頭4個字符中取整數(前4個字符
一定是整 ...
啥老師。。。
作者:
bruceteen
時間:
2016-06-22 08:18
我猜你代碼復演錯了吧,你老師放進去的是整型值5678,而非字符串"5678"
#include <stdio.h>
int main( void )
{
char s[100];
// 放進去
*((int*)s) = 5678;
// 取出來
int v = *((int*)s);
printf( "%d\n", v );
}
復制代碼
作者:
netdoger
時間:
2016-06-22 08:36
回復
5#
bruceteen
應該這是對的
作者:
流氓無產者
時間:
2016-06-22 09:37
netdoger 發(fā)表于 2016-06-21 15:15
我在看一個System V消息隊列的視頻時,看到
老師在講從字符串的開頭4個字符中取整數(前4個字符
一定是整 ...
你看到是ascii
機器看到的是5678是數字
作者:
cokeboL
時間:
2016-06-22 09:57
天啦嚕,,,,,,,
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2