如何将整数值解析为逗号分隔字符串中的单独 int 变量?

How can I parse integer values into separate int variables from a comma separated string?

本文关键字:字符串 分隔 单独 变量 int 整数      更新时间:2023-10-16

我有一个字符串,其中包含 3 个以逗号分隔的数字(例如"10,32,52"(,我想将每个数字存储在 3 个不同的 int 变量中,但我只知道如何使用以下代码存储第一个。你能告诉我如何存储接下来的两个吗? 提前谢谢。

string numbers= "10,32,52";
string first_number_s= numbers.substr(0,2);
int first_number_n= stoi(first_number_s);

您可以将输入字符串流式传输到字符串流中,并使用 std::getline 提取由分隔符分隔的字符串,在本例中为逗号,将每个字符串转换为整数:

#include <sstream>
#include <string>
std::string numbers = "10,32,52";
std::istringstream sstream(numbers);
std::string temp;
std::vector<int> nums;
while (std::getline(sstream, temp, ','))
{
nums.push_back(std::stoi(temp));
}