ユーザーが1〜3桁の文字列に続いてバックスラッシュ、さらに1〜3桁を入力するか、1〜3桁に続いてコンマ、さらに1〜3桁を入力できるCプログラムを作成していますこれを繰り返す回数に制限はありません。
入力区切り文字がバックスラッシュかカンマかを判断し (数値をどう処理するかを判断するため)、数値を配列に入れる必要があります。
私がこれを行うことを考えていた方法は、次のように strtok を使用することでした。文字列は char *token として入力されます。
op_tok1 = strtok(token, "\\");
if(op_tok1 != NULL)
{
/* Process numbers */
return;
}
op_tok2 = strtok(token, ",");
if(op_tok2 != NULL)
{
/* Process other numbers */
return;
}
これは、バックスラッシュで区切られたものには機能しますが、コンマでは機能しません。これは、strtok がトークン変数をいじるためだと思います。これは本当ですか?これについてもっと良い方法はありますか?ありがとう!