顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2013-12-31 07:10:15
看板 C_and_CPP
作者 HILL33LOVE (就是愛希爾)
標題 [問題] 如何把strbuf 48個字元塞在intbuf裡面阿?
時間 Mon Dec 30 12:31:38 2013


char strbuf[48] = "111111111111111111111111111111111111111111111111";
int  intbuf[48];
如何把strbuf 48個字元塞在intbuf裡面阿??


嘗試著用sscanf結果不行這樣用
想問大家有怎樣方式比較可以轉換
謝謝!!

sscanf(strbuf,
"%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",
                        &intbuf[0], &intbuf[1], &intbuf[2], &intbuf[3], &intbuf[4], &intbuf[5],
                        &intbuf[6], &intbuf[7], &intbuf[8], &intbuf[9], &intbuf[10], &intbuf[11],
                        &intbuf[12], &intbuf[13], &intbuf[14], &intbuf[15], &intbuf[16], &
intbuf[17],
                        &intbuf[18], &intbuf[19], &intbuf[20], &intbuf[21], &intbuf[22], &
intbuf[23],
                        &intbuf[24], &intbuf[25], &intbuf[26], &intbuf[27], &intbuf[28], &
intbuf[29],
                        &intbuf[30], &intbuf[31], &intbuf[32], &intbuf[33], &intbuf[34], &
intbuf[35],
                        &intbuf[36], &intbuf[37], &intbuf[38], &intbuf[39], &intbuf[40], &
intbuf[41],
                        &intbuf[42], &intbuf[43], &intbuf[44], &intbuf[45], &intbuf[46], &
intbuf[47]
                        );

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.183.149
lc85301:你這樣是把intbuf的內容寫到strbuf裡吧?1F 12/30 12:42
CaptainH:......amazing2F 12/30 12:46
HILL33LOVE:我是用sscanf沒有把intbuf寫入strbuf,只是我用%d它會3F 12/30 12:54
HILL33LOVE:把strbuf一連串的數字都scanf進去而不是一個一個數字這
HILL33LOVE:樣掃
Aztecs:intbuf[i] = strbuf[i] - '0';   i=0~476F 12/30 12:57
yvb:sscanf(strbuf, "%1d%1d%1d%1d...  ??     推2樓 XD7F 12/30 14:41
Killercat:這篇有上CodeSOD的潛力 :D8F 12/30 15:35
kwpn:用迴圈跑不就好了9F 12/30 17:59
jokester:memcpy嗎? 或者for() intbuf[i]=strbuf[i];10F 12/30 18:05
AnyaAlstreim:你宣告就錯了,strbuf 有 48 個 '1' 和 '\0'12F 12/30 19:14
AnyaAlstreim:所以 size 是 49 才對
final01:還沒學回圈吧XD14F 12/30 21:21
cobrasgo:天啊,是世界奇觀15F 12/30 21:21
yvb:樓樓上 Any 大, 原 PO 宣告並沒錯喔...16F 12/30 21:36
yvb:標準裏面寫到, char s[] = "abc", t[3] = “abc”; 都可以.
yvb:一個 size 4, 一個 size 3.
yvb:請參見標準的 Initialization 小節.
saxontai:char array 並不一定當作字串用20F 12/30 21:42
yvb:但如果原 PO 的是 C++ 程式, 那就錯了.21F 12/30 21:43
yvb:這是 C 和 C++ 的差異之一. (C++ 標準 Character arrays 小節)
AnyaAlstreim:如果不是當字串用,那還能用 sscanf?.......23F 12/30 22:08
saxontai:要把char array丟進int array,用sscanf就走錯路了,為何24F 12/30 22:48
saxontai:要跟著走?XD
saxontai:如果要把char array當字串,那丟進int array的意義在哪裡
saxontai:?XD
yvb:請樓上 Any 和 sax 兩位大大看一下:28F 12/30 23:53
yvb:for (i = 0; i < sizeof(strbuf); i++)
yvb:    sscanf(strbuf+i, "%1d", intbuf+i);
yvb:這樣寫是否行得通, 或是有什麼問題 ?
saxontai:與題意不符,src & dest. 反了32F 12/30 23:56
saxontai:BTW, 版上多的是我看不見車尾燈的神人,別叫我大大>///<
yvb:用 sscanf() 反了? sprintf() 才會是反了吧??34F 12/31 00:23
saxontai:咦?對捏。果然扯太多就會露出我只會嘴砲馬腳。(逃)35F 12/31 00:31
damody:1樓反了 害我還去查一下36F 12/31 00:32
saxontai:@yvb: 認真回,才疏學淺,看不出有什麼問題。37F 12/31 00:34
yvb:看來快跨年, 大家都太 high, 頭都昏了 XD38F 12/31 00:41
saxontai:不專心是真的,經你提醒才像damody一樣去查一下的。(羞)39F 12/31 00:50
saxontai:工作上太久沒用 c std lib 都生疏了也是真的。(嘆)
saxontai:還是不要繼續丟人現眼好了,卡早睏卡有眠
AnyaAlstreim:code 看起來沒問題,問題在我是 Anya 不是 Any...42F 12/31 04:34
AnyaAlstreim:不過我的確不知道這樣轉意義何在... 真的 char array
AnyaAlstreim:那 - '0' 才是正途...

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 140 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇