Stringstream を使用してカンマ区切りの文字列を区切る
この記事では、stringstream を使用してカンマで区切られた文字列を区切る問題について説明します。ユーザーが提供した元のコードは、演算子を使用して文字列を分割しようとしましたが、カンマではなくスペースに対してのみ機能しました。
この制限を克服するために、ソリューションでは isstringstream クラスと getline 関数を使用します。修正されたコードは次のとおりです。
#include <iostream> #include <sstream> int main() { std::string input = "abc,def,ghi"; std::istringstream ss(input); std::string token; while (std::getline(ss, token, ',')) { std::cout << token << '\n'; } return 0; }
このコードでは、getline 関数を使用して stringstream から各トークンを抽出します。入力ストリーム、トークン、区切り文字 (この場合はカンマ) の 3 つの引数を取ります。その後、トークンがコンソールに出力されます。
このコードを実行すると、次の出力が生成されます。
abc def ghi
この改訂されたコードは、カンマに基づいて文字列を正常に分離し、希望の出力。
以上がC で Stringstream を使用してカンマ区切りの文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。