[問題] 做strtok有亂碼
開發平台(Platform): GCC
問題(Question):
我呼叫一個function 做strtok字串的分割,然後存入指標陣列中
最後把其內容印出來,但不知道為何我在function內印出結果都正確
但如果是回到main內印結果就會是亂碼?
程式碼(Code):
int stringProcess(char *input[10]){
char inputTemp[] = "test1 test2 test3";
int temp = 0;
char *t = strtok(inputTemp," ");
while(t != NULL){
input[temp] = t;
t = strtok(NULL," ");
temp++;
}
return temp;
}
main(){
int num;
char *keyIn[10];
num=stringProcess(keyIn);
int i;
for(i=0;i<num;i++){
printf("%s\n",keyIn[i]);
}
}
補充說明(Supplement):
我發現如果改成printf("%s!!\n",keyIn[i]) 然後在stringProcess內塞個
char tt[]="";
printf("%s",tt);
結果就正確了耶,不知道為何會這樣阿?小弟可能指標概念還沒很清楚
還請各位能幫小弟解惑。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.240.188
※ 編輯: Tashuko 來自: 140.113.240.188 (10/23 14:54)
推
10/23 15:35, , 1F
10/23 15:35, 1F
→
10/23 15:37, , 2F
10/23 15:37, 2F
→
10/23 15:38, , 3F
10/23 15:38, 3F
→
10/23 15:40, , 4F
10/23 15:40, 4F
→
10/23 19:07, , 5F
10/23 19:07, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章