2016-10-01 93 views
1

尝试将一些逗号分隔值从字符串中加在一起。我觉得我需要删除逗号。这是stringstream的情况吗?C++添加逗号分隔值

string str = "4, 3, 2" 
//Get individual numbers 
//Add them together 
//output the sum. Prints 9 
+1

你说得对。一个解决方案是std :: istringstream与std :: getline结合 –

+0

欢迎使用Stack Overflow。你有什么尝试? –

回答

1

我会用istringstreamgetline在while循环分裂(记号化)逗号周围的字符串。 然后只需使用std::stoi将每个字符串标记转换为整数,然后将该数字添加到总和。 std::stoi放弃字符串输入中的任何空白字符。

std::string str = "4, 3, 2"; 
std::istringstream ss(str); 

int sum = 0; 
std::string token; 
while(std::getline(ss, token, ',')) { 
    sum += std::stoi(token); 
} 
std::cout << "The sum: " << sum; 
+1

谢谢!它完美的工作! –