2 番目のパラメーターが区切り文字のリストであるstrtok関数を使用しています。区切り文字をコンマの後にスペースを続けて設定しようとしています。たとえば,(space)
、関数を strok(foobar,", ") として設定しています。これに関するこの問題は、区切り文字がコンマ,
またはスペースになっていること(space)
です。
この問題を解決するにはどうすればよいですか。クラスクラスも使用してもかまいません
どうすればこの問題を克服できますか
を使用しないことによりstrtok
、これは 1 文字の区切り文字で文字列をトークン化するためにのみ使用でき、多くの落とし穴があるためとにかくお勧めできません。
std::find
代わりに、最も簡単な解決策は、探している区切り文字を単純にして、トークンのコレクションを作成することだと思います。
区切り文字を自分で検索する標準 C 関数 strstr を使用できます。strtok は、ソース文字列の区切り文字をゼロ文字で置き換えることを考慮してください。
仕事に間違ったツールを使用しています。区切り文字がコンマまたはスペースであることは問題ではありません。これは設計によるものです。代わりに使用してください。strstr