2016-01-20 85 views
1

字符串數組我有這個字符串:"apples,cakes,cupcakes,bannanas"Ç - 字符串分割到在某些字符

我怎樣纔能有效地打破這成類似下面的數組?

["apples"]["cakes"]["cupcakes"]["bannanas"] 

似乎有很多的C++在那裏的答案,但我在努力尋找C的答案我想要做的是在每一個','分成數組。有什麼建議麼??

+0

簡單的方法是問過['標準:: getline'(http://en.cppreference.com/w/ cpp/string/basic_string/getline)。請閱讀['std :: stringstream'](http://en.cppreference.com/w/cpp/io/basic_stringstream)以獲取將字符串轉換爲輸入流的快速方法。 – user4581301

+0

我認爲std是一個C++庫。對不起,我是c和C++的新手。 – ThatPixelCherry

+1

你用C++標記了這個問題,我給了一個C++的答案。如果您需要限制對C的答案,請編輯您的問題並用C標記替換C++標記。你可能會得到更好的迴應質量。 – user4581301

回答

2

使用strtok()?

字符串像蘋果,蛋糕,蛋糕,bannanas和delim「,」。

char *token; 
token = strtok(str, delim); 
while(token != NULL) 
{ 
     printf("%s\n", token); 
     token = strtok(NULL,delim); 
} 

可能會有幫助。

+0

這是如何返回字符串上的數組?我需要一個包含每個拆分字符串的數組。 – ThatPixelCherry

+0

用字符串數組的strcpy替換打印行。或者更好的是,使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)。 – user4581301

+0

謝謝!我只是將令牌推入矢量中:D – ThatPixelCherry