(承前) scanfでカンマ区切りの文字列を読み取る part1の最後の例は、下記のようなやり方で文字列を分解して取得できます。 sscanf(text,"%[^,],%[^,],%[^,]", s1, s2, s3); スキャンセットの先頭が'^'なので、'^'以降の文字(この場合はカンマ)を除く文字列だけが各変数に格納されます。一つのスキャンセットが処理された時点でスキャンはカンマの直前まで進んでいるので、その次のマッチング文字としてカンマを書いておき、更に次のフィールドに進めます。 但し、上記のやり方だと今度は空白文字が変数に読み込まれてしまうので、その辺りも考慮した方が良いでしょう。これも別に難しくありません。例えば下記のようにするだけで充分です。 sscanf(text," %[^, \t] , %[^. \t] , %[^, \t]", s1, s2, s3); 何回も同じ文字