数字字符串,分隔转换成vector<int>
时间: 2024-02-16 22:04:11 浏览: 134
好的,我可以帮你处理这个问题。你可以使用字符串流stringstream将数字字符串输入,然后逐个将数字读取出来,放入vector中。下面是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
vector<int> stringToVector(const string& s) {
stringstream ss(s);
vector<int> v;
int num;
char c;
while (ss >> num) {
v.push_back(num);
if (ss >> c && c != ',') {
break;
}
}
return v;
}
int main() {
string s = "1,2,3,4,5";
vector<int> v = stringToVector(s);
for (int i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
在上述代码中,我们定义了一个名为stringToVector的函数,它将输入的数字字符串转换为vector<int>。在函数中,我们首先使用stringstream将数字字符串输入,然后使用while循环逐个读取数字,并将其放入vector中。在读取数字后,我们还需要读取一下逗号,以便在读取下一个数字时正确处理。最后,我们返回生成的vector。
在主函数中,我们使用一个示例数字字符串"1,2,3,4,5"调用stringToVector函数,并将结果打印到屏幕上。
希望这能对你有所帮助!
阅读全文