在C++中,将字符串转换为多个整数值通常涉及到字符串的分割和类型转换。以下是一个基本的示例,展示了如何实现这一过程:
#include <iostream>
#include <sstream>
#include <vector>
std::vector<int> stringToInts(const std::string& str, char delimiter = ',') {
std::vector<int> result;
std::stringstream ss(str);
std::string token;
while (std::getline(ss, token, delimiter)) {
try {
int value = std::stoi(token);
result.push_back(value);
} catch (const std::invalid_argument& e) {
std::cerr << "Invalid argument: " << token << " is not a valid integer." << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Out of range: " << token << " is out of the range of int." << std::endl;
}
}
return result;
}
int main() {
std::string input = "10,20,30,40,50";
std::vector<int> ints = stringToInts(input);
for (int num : ints) {
std::cout << num << " ";
}
return 0;
}
int
、long
、long long
等。std::stoi
时,如果字符串不能转换为整数,会抛出std::invalid_argument
异常。可以通过捕获异常来处理。int
类型的范围,会抛出std::out_of_range
异常。同样可以通过捕获异常来处理。通过上述方法,你可以将一个包含多个整数的字符串转换为int
类型的向量。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云