我對C字符串非常困惑。使用strtok在C中分割字符串
我有字符串,其具有18個元素的數組:炭用戶[18] [50],其中每個元件具有在格式串 「XXXX:YYYY:ZZZZ」
但我只需要ZZZZs,我想將它們存儲在,比方說,焦Z [18] [50]而不是字符* Z一致性(也即將字符*真不明白)
所以我m使用strtok分割字符串
char *split;
char *temp;
for (i=0; i<18; i++){
temp = user[i];
split = strtok(temp, ":");
//Wanna do something here
}
所以我想在每次迭代分裂是指向串的陣列的指針,元件是:XXXX和YYYY和ZZZZ分開。
我怎樣才能得到ZZZZs並將它們存儲到char z [18] [50]?
謝謝! 我通過做 'strcpy(z [k],split)'成功地將它們存儲在** char z [18] [50] **中。現在我想在所有ZZZZs前面附上AB, ABZZZZZ。我試過 'char ABz [18] [50]; .... strcat(ABz [k],「AB」); strcat(ABz [k],z [k]); ...' 它可以工作,但是當我打印出來一些(不是所有的,比如其中的4個)在AB前面有一些垃圾時,就像&!@ ABZZZZZ。 你知道這是什麼原因嗎? –
@ user2931670:試試這個,** sprintf(ABz [k],「%s%s」,「AB」,split); ** – David
太棒了!像魅力一樣工作。 –