2016-10-01 179 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

나는 (토큰 화) 쉼표 주변의 문자열을 분할 while 루프에서 getlineistringstream을 사용합니다. 그런 다음 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

감사! 그것은 완벽하게 작동합니다! –