不管怎样,你通常会需要作一些基本的解析,其中分隔字符(token)用的是空格字符。对于这个基本需求,你可以从你的字符串创建一个stringstream,并用运算符“>>”来解析出每个词(然后把它视作你希望的任何意义)。
下面是一个例子:
#include <string>
#include <iostream>
#include <sstream>
int main(int argc, char* argv[])
{
// 输入字符串
std::string strInput = "John Doe 355223";
// 创建一个stringstream,逐个单词地解析它
std::stringstream streamIn( strInput);
std::string strFirstName;
std::string strLastName;
int nID;
streamIn >> strFirstName >> strLastName
>> nID;
// 显示我们解析出来的信息
std::cout << "First name: " <<
strFirstName << std::endl
<< "Last name:
" << strLastName << std::endl
<< "Employee ID:
" << nID << std::endl;
return 0;
}
你可以自动化上面的过程,通过一个函数,只要给它一个字符串作为参数,就返回一个stringstream供你稍后解析