コンマで区切られた大きな文字列をスキャンする関数を使用していfscanf
ます。大きな文字列の最後の部分文字列はアスタリスク (*) で区切られています。以下に例を示します。
サブストリング 1,サブストリング 2,サブストリング 3*サブストリング 4
コンマで区切られた部分文字列を問題なく解析できますが、アスタリスクに到達すると、fscanf
ブロックと同様にプログラムが停止します。以下に示すよう%[^...]
に、でフォーマット指定子を使用しています。fscanf
fscanf(fs, "%[^*,]%*c", str);
上記のコードは、複数回スキャンする単純な for ループにあります。ご覧のとおり、アスタリスクまたはコンマが表示されるまでスキャンしています。ただし、アスタリスクをセットに正しく含めていないことが残念です。誰かが私の間違いを訂正できますか?
ありがとう。