int main()
{
char inputp1[32], inputp2[32];
char input[32];
printf("-> ");
scanf("%s", input);
strcpy(inputp1, strtok(input , " ,.-"));
strcpy(inputp2, strtok(NULL, " ,.-"));
printf("%s\n", inputp1);
printf("%s\n", inputp2);
}
有了這個,我可以輸入:的strtok用空格用C
-> 10.10 // my input
10
10
及其與10-10和10,10相同,但使用10做到這一點:
-> 10 10
Segmentation fault: 11
有任何想法嗎?
注:如果這是一個愚蠢的只是告訴我,如果它修復這種不適,刪除此帖子。 謝謝。
帶'%s'的'scanf'直到空白爲止。 – mch
檢查可以返回空指針的函數的返回值,以防它們_do_返回空指針。那麼你可以避免你的代碼崩潰。 –
@mch您的評論不完整。 ''%s''讀取可選的前導空白(忽略它們),然後_then_掃描非空白區域,但不包括後續的空白區域。 – chux