問題タブ [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.

0 投票する
4 に答える
14507 参照

oracle - Oracle PL/SQL UTL_FILE.PUT バッファリング

Oracle ストアド プロシージャから 7MB を超える大きなファイルを書き込んでいますが、各レコードの末尾に改行文字 (キャリッジ リターン/ライン フィード) がないことが要件です。

UTL_FILE.PUT を使用してストアド プロシージャを作成し、UTL_FILE.PUT への呼び出しごとに UTL_FILE.FFLUSH を使用しています。この手順は、FFLUSH 呼び出しを行っているにもかかわらず、バッファー サイズ (最大 32767 に設定) を超えて書き込みを行った時点で、書き込みエラーでエラーになります。PUT 呼び出しを PUT_LINE 呼び出しに置き換えると、手順は正常に機能します。

改行文字なしでバッファサイズを超えて書き込むことはできませんか? もしそうなら、回避策はありますか?

0 投票する
3 に答える
6645 参照

c++ - C++でfflushを使用する

fflush誰かがC++での使用を手伝ってくれますか

これがCのサンプルコードです

これは、インタラクティブな入力を取得するためのプログラムです。

普段使っcincoutいるので使わないのは可能printfですscanfか?

0 投票する
2 に答える
117 参照

c - スクリーンプリントがわかりにくい?

私のコードは:

出力は次のとおりです。

system("pwd") が最初に印刷され、次に argv[0] が印刷されるようです。なぜ?次のようなステートメントを追加すると:

出力は次のとおりです。

正常に動作しますが、なぜですか?

0 投票する
3 に答える
4454 参照

c - fflush(stdout)なしで出力が印刷されない

なぜ使う必要があるのか​​、使わないのかわかりfflush()ません。

私のプログラムは現在セグフォールトしていて、printステートメントでデバッグしています。プログラムがsegfaultを実行すると、stdoutそのバッファは自動的にフラッシュされませんか?

0 投票する
0 に答える
4416 参照

windows - パイプ リダイレクトを使用すると、Windows コンソール プログラムの stdout がバッファリングされる

私は、QT/c++ で書かれた長期間実行されるサーバー プログラム (プログラム A など) を持っています。プログラムはあまり安定していないので、クラッシュした場合に再起動するための Python スクリプトを作成することにしました。問題は、プログラムが起動に失敗し (使用中のポートを指定した場合)、エラーを出力し、終了せずにハングアップする可能性があることです。そのため、プログラムの stdout を監視し、起動に失敗したときに強制終了する必要があります。

これは私の最終的なコードの一部です (まあ、実際にはこれで問題ありません。無視してかまいません):

しかし、サブプロセスの stdout から何も読み取れないことがわかりました。readline メソッドはそこでブロックされているだけです。A プロセスを強制終了すると、Python スクリプトは何も出力せずに終了します。最初はサブプロセスモジュールの問題だと思っていましたが、テストの結果、そうではないことがわかりました。A.exe コマンド ラインを他の Windows コンソール プログラム (ping -t など) に置き換えると、すべて正常に動作します。だから私はそれがAプログラムの問題かもしれないと思った.

幸いなことに、私は A のソース コードを持っています。ここに出力を扱う部分があります。

いくつかの検索の後fflush(stdout);、このコードの最後に追加し、プログラムを再構築すると、動作するようになりました

だから私の問題は、私がまだ理解できないということです.元のAプログラムコードの何が問題になっていますか? 強制的にフラッシュしなくても、プログラムの開始直後に、これらの文字列を Windows コンソールに正しく出力できます。出力でパイプを使用すると出力がバッファリングされるのはなぜですか? 標準のC実装では、改行時に出力が自動的にフラッシュされることを読みましたが、私の状況ではそうではないのはなぜですか? これは Windows の問題ですか、それともコンパイラの問題ですか?

A プログラムは QT/C++ でコンパイルされ、QT バージョンは 4.7.4(x32)、C++ コンパイラは ming32 g++ で、QT(GCC 4.4.0) に付属しています。すべてのテストは win7x64 プラットフォームで実行され、私の python バージョンは2.7.2

0 投票する
3 に答える
10135 参照

c - fflush(stdin) 関数が機能しない

このコードの何が問題なのかわかりません。

#################### 編集

templatetypedef のソリューションを適用すると、プログラムは customer_name のユーザー入力を待機します。ただし、スペースを含む文字列を入力するとエラーになり、プログラムはスペースの後の単語が次のプロンプトで入力されたと見なします。

0 投票する
2 に答える
676 参照

c - このバッファオーバーフローはありますか?

私のプログラムが想定どおりに動作しているかどうかは本当に混乱しています。これは宿題ではなく、私が書いている楽しい行進狂気予測プログラムです。

好奇心から、20文字を超えるチーム名を入力すると、2番目の印刷ステートメントが完全にスキップされます。バッファオーバーフローから保護していますか?巨大なものを入れないのはユーザー次第ですか?フラッシュステートメントが必要ですか?

これは出力です:

0 投票する
2 に答える
137 参照

c - 読み取り元のファイルと書き込み先のファイルが同じではありません

3KB 程度のファイルの内容をバッファに読み込んでから、バッファの内容を別のファイルに書き込もうとしています。データが書き込まれるファイルには、書き込まれるデータの一部のみが含まれます。そのサイズは約1KBです。残りのデータを書き込むには?

fwrite 後の fflush は私のためにそれを行いますか?

0 投票する
1 に答える
935 参照

c - fwrite() とファイルの破損

Cのファイルにwchar配列を書き込もうとしていますが、ある種の破損と、変数やパスのような無関係なデータがあります

正しいデータとともにファイルに書き込まれます () バッファーが null で終了し、適切なデータが含まれていることを確認しました。

私のコードは次のとおりです。

何が原因でしょうか?

0 投票する
2 に答える
19337 参照

c - fflush(stdin)ANSI C

私はANSICの初心者ですが、質問があります。ばかげた質問かもしれませんが、申し訳ありません。

scanf関数を学ぶのは私の2番目のプログラムです。私の質問は:printfscanffflushstdingetcharがstdio.hで定義されていることを知っていますが、 fflush(stdin)を使用する場合にのみ、#include < stdio.h >を指定する必要がありますが、他の方法を使用する場合はその行#includeを削除できます。