2011-05-18 58 views
-1

可能顯示的文件:
C++ split string
How do I tokenize a string in C++?C++實現串的分割

我想解析文本的一行,它包括由空格分隔的多個字。 所以我需要知道C++分割字符串的方式。一個示例行如下所示:

aa bb cc dd 

這意味着一個或多個空白用作配置文件每行中的分隔符。那麼你們誰可以提供一些工作代碼來解決我的問題? 在此先感謝。

+0

@Heandel:爲什麼你會使用一個正則表達式呢? – 2011-05-18 08:29:37

+1

這是一個經典的家庭作業問題。 DIY。 – Blazes 2011-05-18 08:30:41

回答

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

試試用此代碼。矢量出應包含切分串

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]); 
+0

你可以,但請不要。問題是關於C++,而不是C. – 2011-05-18 08:36:16