問題タブ [fflush]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - fseek(stdin,0,SEEK_SET) と rewind(stdin) は、入力バッファ "stdin" を本当にフラッシュします。使用してもよろしいですか?
最初から、これら2つの関数を呼び出すとバッファをフラッシュすることが明確に書かれているので、なぜ入力バッファfseek(stdin,0,SEEK_SET)
をフラッシュできないのか考えていました(入力または出力に関係なく).しかし、全体のアイデアが新しいように見えたので、私はそれを入れました昨日の不器用な質問。rewind(stdin)
cplusplusreference
fseek(stdin,1,SEEK_SET) または rewind(stdin) を使用して、移植性のない fflush(stdin) の代わりに入力バッファーをフラッシュできますか?
率直に言って、そうしない理由がわかりませんでした.今日私はそれを自分で試してみました. newline lurking in stdin
つまり、複数のステートメントを使用しながら問題を処理するには、非ポータブルおよびUBを使用または代わりにscanf()
使用できるようです。fseek(stdin,0,SEEK_SET)
rewind(stdin)
fflush(stdin)
これがリスクのない正しいアプローチであるかどうか教えてください.今まで、私は次のコードを使用して対処していましたnewline in stdin
: while((c = getchar()) != '\n' && c != EOF);
. 以下は私のコードです:
fseek(stdin,0,SEEK_SET)
私のプログラムでは、またはのどちらも使用しない場合rewind(stdin)
、2 番目はスキップされ、常にscanf()
改行が文字として取り込まれます。またはを使用すると、問題は解決します。fseek(stdin,0,SEEK_SET)
rewind(stdin)
printf - fprintf と fflush をより効果的にするには?
サーバー用のロガーを作成したいと考えています。関数を使用しfprintf
てログ ファイルを書き込みます。
サーバーがクラッシュした場合、バッファをフラッシュできないため、バッファから最後のテキストを取得できません。
毎回fflush
関数を呼び出すと、それは良い解決策ですか? fprintf
ロガーをより効果的にするための良い解決策はありますか?
c - 私のプログラムでprintfが機能しないのはなぜですか(フラッシュを試みました)
printf()
C の前に Objective-C を学び、C に戻った今、ループの内側が機能しない理由がわかりません。誰かが私にアドバイスできますか?
このプログラムは、Skiena と Revilla による著書 "Programming Challenges" の最初の課題です。
c - 最初に fflush を呼び出したり stderr に書き込んだりせずに fwrite を使用する
バイナリ データをファイルまたは .xml に書き込む関数がありますstdout
。ただし、 への呼び出しはfwrite()
失敗することがありfflush(stderr)
ます。stderr
fwrite
これは正常な動作ですか、それとも根本的なメモリの問題を示していますか? しようとしているデータにアクセスするとfprint
すぐに「問題」が消えるため、デバッグが困難です。stderr
fwrite
stdout
これは、関数の非常に単純化されたバージョンです。
どんな知恵も感謝します:)