C++ c++;字符串拆分的实现

C++ c++;字符串拆分的实现,c++,C++,可能的重复项: 我想解析一行文本,它由几个用空格分隔的单词组成。 所以我需要知道用某个分隔符分割字符串的C++方法。示例行如下所示: aa bb cc dd 这意味着在配置文件的每一行中使用一个或多个空白作为分隔符。你们谁能提供一些工作代码来解决我的问题? 提前感谢。字符串tmp; string tmp; vector<string> out; istringstream is("aa bb cc dd"); while(is >> tm

可能的重复项:

我想解析一行文本,它由几个用空格分隔的单词组成。 所以我需要知道用某个分隔符分割字符串的C++方法。示例行如下所示:

aa bb  cc    dd
这意味着在配置文件的每一行中使用一个或多个空白作为分隔符。你们谁能提供一些工作代码来解决我的问题? 提前感谢。

字符串tmp;
string tmp;  
vector<string> out;  
istringstream is("aa bb   cc   dd");  
while(is >> tmp)  
    out.push_back(tmp);
矢量输出; istringstream是(“aa bb cc dd”); while(is>>tmp) 向外推,向后推(tmp);

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

您可以使用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]);

@希恩德尔:为什么要用正则表达式呢?这是一个经典的家庭作业问题。DIY。你可以,但请不要。问题是关于C++,而不是C++。