2016-10-01 53 views
1

カンマ区切りの値を文字列から一緒に追加しようとしています。私はコンマを削除する必要があるように感じる。これはストリングストリームのケースですか?C++コンマ区切りの値を追加する

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

あなたは正しいです。 1つの解決策はstd :: istringstreamとstd :: getlineとの組み合わせです –

+0

ようこそスタックオーバーフローへ。何を試しましたか? –

答えて

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

ありがとう!それは完全に動作します! –

関連する問題