設定ファイルから設定行を読み込むfscanfがあります。これらの設定はfscanfと改行文字
name1=option1;
name2=option2;
...
のように見える厳密に定義済みの形式を持っているので、基本的に私は、コンフィギュレーションファイルストリームと名前とオプションである
fscanf(configuration,"%[^=]=%[^;];",name,option);
はプログラミングのバッファですか。
名前バッファには、私が望ましくない改行文字が含まれているという問題があります。 "[^ ...]"で改行文字をスキップするように設定されているフォーマット指定子はありますか?とにかく、これまでフォーマット指定子で解決できますか?
ところで:この
"%[^=]=%[^;];\n"
を足すことで改行文字を飲み込むことは、私は改行文字が一度どこでもより多く繰り返すことができることを考えるためにelegentではありません。
'nameN'フィールドに空白を含めることができない場合は、フォーマット文字列の前に空白を追加してください。'%[^ =] =%[^;]; '' - 先頭の空白をスキップします。可能であれば、 'getchar()'で改行を単独で使う必要があります。 –
とにかく、改行の繰り返しについては、 '%* [\ n]'を使用してそれらを保存せずに任意の数の「\ n」を読むことができます。 – effeffe