2016-10-01 5 views
1

Пытается добавить некоторые значения, разделенные запятой, из строки. Я чувствую, что мне нужно будет удалить запятую. Это случай для струнного потока?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

Я хотел бы использовать istringstream с getline в цикле в то время как для разделения (токенизировать) строку вокруг запятой. Затем просто используйте 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

Спасибо! Он отлично работает! –