字符串中使用最多的是字符串分割,其中包括输入getline后,对输入数据进行分割,以及字符串间的查找和分割。下面补上极其有效的分割方法。
string line = "1 2 3 4 56";
size_t begin = 0;
while (begin != string::npos) {
begin = line.find_first_not_of(' ', begin);
size_t end = line.find(' ', begin);
string tmp = line.substr(begin, end - begin);
cout << tmp <<', ';
begin == end;
}
注:
1. string::npos是一个无符号整数。
2. getline碰到’\n’,就会读入。而cin>>则会忽略‘\n’。