c ++实现字符串拆分

时间:2011-05-18 08:26:02

标签: c++

  

可能重复:
  C++ split string
  How do I tokenize a string in C++?

我想解析一行文本,其中包含由空格分隔的几个单词。 所以我需要知道C ++通过某个分隔符分割字符串的方式。示例行如下所示:

aa bb  cc    dd

这意味着在配置文件的每一行中使用一个或多个空格作为分隔符。那么你们中的任何人都可以提供一些工作代码来解决我的问题吗? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

string tmp;  
vector<string> out;  
istringstream is("aa bb   cc   dd");  
while(is >> tmp)  
    out.push_back(tmp);

尝试使用此代码。向量输出应包含标记化字符串

答案 1 :(得分:0)

你可以使用strtok函数来分割字符串

int i=0;
int j=0;
char text[] ="aa bb cc   dd";
char *splittedtext[100]; // have 100 element
splittedtext[0] = strtok(text," ");
while(splittedtext[i] != '\0'){
   ++i;
   splittedtext[i] = strtok(NULL," ");
}
for(j=0;splittedtext[j]!='\0';++j)
   printf("%s",splittedtext[j]);