將分隔字符串轉換爲C(不是C++)字符串數組的一種有效方法是什麼?例如,我可能有:C:從分隔的源字符串創建字符串數組
char *input = "valgrind --leak-check=yes --track-origins=yes ./a.out"
源字符串始終只有一個空格作爲分隔符。而且我想malloc分配的字符串char *myarray[]
這樣的malloc分配數組:
myarray[0]=="valgrind"
myarray[1]=="--leak-check=yes"
...
編輯我必須假設有在inputString
令牌任意數量的,所以我不能只是限制它到10什麼的。
我試圖用strtok
和我實現的鏈表來解決混亂的問題,但是valgrind抱怨太多,我放棄了。
(如果你想知道,這是一個基本的Unix shell我試着寫。)
@Sneesh:這是一個很好的例子,說明如何在C語言中做到這一點,因爲舊格言是'有許多方法可以讓皮膚變白......'+1。 – t0mm13b 2010-01-31 12:50:13