問題タブ [stdio]

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 投票する
13 に答える
4248 参照

c - stdio ファイル書き込み関数からの戻り値を処理するための適切なプログラミング パターンは何ですか?

私は多くを生成するいくつかのコードに取り組んでいます

g ++でコンパイルすると警告が表示され、多数の個別の順次fwritesの戻り値を実際に記録して処理するための最良のプログラミングパターンについて疑問に思っています(つまりfwrite、ループでは同じではありません)

現時点でコードが次のようになっているとします。

現在、次のようなことを考えていますが、ファイル ポインターをクリーンアップするのが難しい場合があります。

このアプローチは、入れ子にするよりも明らかに優れていると思います。

とはいえ、この種のベスト プラクティス パターンは既に確立されているのではないでしょうか?

もちろん、コンパイラの警告を取り除くためにこれを主に調べているので、戻り値をダミー変数に割り当てて無視することもできますが、最初は正しい方法で試してみたいと思います.

更新:このコードは実際には g++ を使用してコンパイルされた c であるため、c++ タグを削除しました。そのため、コード ベースの残りの部分を維持するには、c ベースのソリューションが必要です。

0 投票する
8 に答える
146432 参照

c - Cからのstdinとstdoutの再ルーティング

stdinおよびstdout(そしておそらく私stderrがそこにいる間に)ファイルハンドルを再度開いて、ファイルへの、printf()またはputchar()ファイルputs()への今後の呼び出し、およびファイルへの今後の呼び出しgetc()などがファイルから行われるようにします。

1)標準の入出力/エラーを永久に失いたくない。プログラムの後半でそれらを再利用したいと思うかもしれません。

2)新しいファイルハンドルを開きたくないのは、これらのファイルハンドルを大量に渡すか、グローバル(シャダー)で渡す必要があるためです。

open()3)どうしようもないのならfork()、システムに依存する機能を使いたくない。

したがって、基本的に、これを行うのは機能しますか?

そして、もしそうなら、どうすれば元の値をstdin取り戻すことができますか?に保存して、FILE *後で元に戻す必要がありますか?

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

c - scanf による入力の空白スペースの抑制

改行を抑制するには、%[^\n] を使用します。入力で空白をスキップする形式、つまり「ハロースタックフロー」を入力する必要がある場合はどうすればよいか教えてください。fgets と gets は知っていますが、使用したくありません。問題が発生しています。

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

c++ - "\n" で std::cout のフラッシュを停止できますか?

この投稿によると、 std::cout は\n、対話型デバイス (ターミナル ウィンドウなど) に接続されると、自動的にフラッシュします。.flush()それ以外の場合 (たとえば、ファイルにパイプされる場合)、完全にバッファリングされて動作し、またはでのみフラッシュされstd::endlます。

Microsoft Visual C++ でこの動作をオーバーライドして、完全にバッファー モードにするか行バッファー モードにするかを選択できるようにする方法はありますか?

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

.net - 管理対象の System.IO.FileStream の基になる stdio FILE* を取得する方法は?

メソッド "bar" が通常の stdio FILE* を取る C/C++ ライブラリ用の .NET アダプターを作成しています。マネージド コード ユーザーがマネージド (ファイル) ストリームを渡すことができるようにインターフェイスを構築することは可能ですか? つまり、データをパイプするための中間バッファーとコードを作成する必要はありません。また、bar() が読み取りを行うという仮定は、物事をより良くするだけですか?

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

c - FILEからの(開いた)ファイル名の決定*

stdioFILE *ポインターが与えられた場合、(開いた)ファイルの名前を見つける方法はありますか?

0 投票する
6 に答える
3757 参照

c++ - 両方を含めるための正しい順序?

たとえば、システム固有の関数を使用する必要があります( POSIX標準に従ってftello()定義されています)。stdio.hまた、標準の C++ 機能も使用する必要があります。たとえば、 ( ISO C++ 標準に従ってstd::sprintf()で定義されています)。cstdio

私の知る限り、非標準 C++ のものを定義するだけで<cstdio>は保証されないため、両方を含める必要があると思います。私はずっと前に、(たとえば) gcc ではインクルード ファイルの順序に問題がある可能性があることを読みました。

<cstdio>では、 と の両方を含める正しい順序は何<stdio.h>ですか? 可能な限りクロスプラットフォームのソリューションを探しています (少なくとも gcc、suncc、intel C++/linux、および mingw の場合)。

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

ruby - $ deferr、$ defoutはどのような目的であり、$definがない理由

$ deferr、$ defoutはどのような目的で使用され、$ stderr、$ stdout、$ stdin、およびSTDIN、STDOUT、STDERRがある場合に$definが存在しないのはなぜですか。

それらのいずれかを変更しても、他は変更されません

0 投票する
7 に答える
3634 参照

c++ - 標準ライブラリでコンパイル エラーが発生します。調子はどう?

特定されていないソフトウェアをコンパイルしようとしていますが、stdio.h. エラーは、ほとんどの場合、 などの宣言されていない識別子_In_です。IntelliSense は、それらの定義を適切に検出します。この原因をどのような一般的な方向で探す必要がありますか?

追加: たとえば、1 つの cpp ファイルstdio.hには最初に含まれるファイルがあります。その前に確認できる定義はありません。プリコンパイル済みヘッダーは使用されません。私のインストールの他のものは問題なくコンパイルされます。

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

c++ - C++でファイルの先頭へのポインタを取得する方法

C ++で、開いているファイルの先頭へのポインターを取得して、ファイルのサイズと一緒にUNIX書き込み関数に渡すことができるようにすることはできますか?

明確にするために、ファイル全体を書き込みのような関数に渡したいのですが、これを行うにはどうすればよいですか?