看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《geminicstar (小散)》之銘言: : 我平時很少寫C,我想問要怎樣可以做到VB中的字串連接呢? : ex. A & B & C : 只用 & 即可! : 因為我要串大量字串~strcat能做到嗎? : 有其他更好的方法嗎?請各位大大提點一下! : 我有想說宣告Array然後用for來串 : 但還沒做出來 #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { int array_lens=0; char* array = NULL; char* A = "12456"; char* B = "3215dsfds"; char* C = "fdsfs9fdsfds"; array_lens = strlen(A)+ strlen(B)+ strlen(C)+1; array = (char*)malloc(sizeof(char)*array_lens); sprintf(array,"%s%s%s",A,B,C); printf("%s\nlen is %d\n",array,strlen(array)); free(array); return 0; } 這樣如何? 因為有點不太懂你大量字串的A,B,C怎來的,只好自己先設定。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.173.202
vocaloid:buffer overrun 10/21 23:33
purincess:overrun了1 byte的0x00 heap表示不開心 10/21 23:34
拍謝,所以應該改成array_lens = strlen(A)+ strlen(B)+ strlen(C)+1; ? ※ 編輯: jimmytzeng 來自: 219.70.173.202 (10/21 23:39)
Schottky:西滴~ 千萬別忘了結尾的 '\0' 10/22 01:35
xvid:如果字串變數真的很多 我會覺得原po的陣列+迴圈比較省事 10/22 02:00
Schottky:問題是陣列法還在寫, 這篇已經寫完了, 有code就贏了... 10/22 02:22
Schottky:紙老虎畫得再威猛, 還是比不過真老虎... 10/22 02:23
xvid:都可阿 看他自己想用什麼方法 只是兩種code都不難寫吧 10/22 13:03
suhorng:不過提到有for讓人覺得是不知道一堆幾個字串 10/22 13:04
xvid:很大量的時候 一堆%s / 直接看for-loop上界 這後者比較容易吧 10/22 19:55