我想解析一行文本,其中包含由空格分隔的几个单词。 所以我需要知道C ++通过某个分隔符分割字符串的方式。示例行如下所示:
aa bb cc dd
这意味着在配置文件的每一行中使用一个或多个空格作为分隔符。那么你们中的任何人都可以提供一些工作代码来解决我的问题吗? 提前谢谢。
答案 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]);