2016-01-20 40 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