(1)分割字符串 方法一: #include<iostream> #include <vector> #include <string> #include <cctype> using namespace std; vector<string> division_word(const string &str); int main() { string str="hello liuan cert hshhss"; vector<string> display; display=division_word(str); for ( vector<string>::size_type i=0;i !=display.size();++i ) { cout<<display.at(i)<<endl; } return 0; } vector<string> division_word(const string &str) { vector<string> temp; typedef string::size_type string_size; string_size i=0; while (i!=str.size()) { //检测空白符,找到第一个不是空白符的字符 while(i !=str.size() && isspace(str[i]) ) ++i; string_size j=i; //从i查找下一个空白符 while(j !=str.size() && !isspace(str[j]) ) ++j; if (i!=j) { /*如果两者 [i,j)区域存在的话, 把从i索引开始的j-i个字符也就是单词复制到temp中 在继续查找*/ temp.push_back(str.substr(i,j-i)); i=j; } } return temp; } 方法二:利用CString里面的Tokenize #include<iostream> #include <afx.h> #include <vector> using namespace std; vector<CString> division_word(const CString &str, CString strtaken ); int main() { CString str="hello liuan cert hshhss"; CString strtaken=" "; vector<CString> display; display=division_word(str,strtaken); for ( vector<CString>::size_type i=0;i !=display.size();++i ) { cout<<display.at(i)<<endl; } return 0; } vector<CString> division_word(const CString &str, CString strtaken ) { vector<CString> temp; CString strToken=""; int curPos=0; while((strToken =str.Tokenize(strtaken, curPos))!=_T("")) { temp.push_back(strToken); } return temp; } (2)判断回文 bool is_huiwen(const string& str) { return equal(str.begin(),str.end(),str.rbegin()); }