直接copy这个函数就行:
#include<iostream>
using namespace std;
#include<string>
#include <regex>
//按空格分隔,返回vector<std::string>类型。有时间想想怎么把这个函数搞成我所有程序都能引入头文件直接用的。
vector<string> split(string text) {
regex ws_re("\\s+"); // 这个可以把所有空格都挖掉 而如果是regex ws_re("");就只能删掉第一个空格
//测试一下这个字符串就明白区别了 "Quick brown fox."
vector<string> vector(sregex_token_iterator(text.begin(), text.end(), ws_re, -1),sregex_token_iterator());
return vector;
}
int main() {
string text = "The quick brown fox jumps over a lazy dog."; //这句话刚好26个字母
vector<string> v = split(text);
for (auto&& s : v) { //v是一个可遍历的容器或流,比如vector类型,s就用来在遍历过程中获得容器里的每一个元素
cout << s << "\n";
}
return 0;
}
这个for函数是C++11的,很有意思,不过用起来难受
int arr[] = { 1,2,3,4 };
for (auto&& s : arr) { //这个时候还是地址传递,可以直接用s修改原数组arr的内容
cout << s << endl;
s = 1;
}
for (auto&& s : arr) {
cout << s << endl;
}
|