作者jimmytzeng (jimmytseng)
看板C_and_CPP
標題Re: [問題] 一堆字串要如何連接呢?strcat?
時間Mon Oct 21 23:25:32 2013
※ 引述《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