在刷算法题的时候总是会遇到需要处理格式化输入的问题,这里记录下将string类型的数据,格式化输入到vector数组中,提供两种方法:
1、C语言中的strtok。
因为strtok为不安全函数,这里使用strtok_r.
直接看代码:
example:
void formatStringTovector()
{
string line;
getline(cin, line);
char *S = (char *)line.c_str();
char *context = NULL;
char *target = strtok_r(S, ",", &context);
vector<int> arr;
while(target != NULL) {
int num = stoi(target);
arr.push_back(num);
target = strtok_r(NULL, "," , &context);
}
int total = arr.back();
arr.pop_back();
cout << "tatal : " << total << endl;
for(auto x : arr) {
cout << x << " ";
}
cout << endl;
}