問題タブ [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 に答える
13027 参照

c++ - C++コードで使用する必要があるCI/Oライブラリはどれですか?

新しいC++コードでは、Cstdioライブラリの代わりにC++iostreamライブラリを使用する傾向があります。

一部のプログラマーはstdioに固執しているようで、よりポータブルであると主張していることに気づきました。

これは本当に本当ですか?何を使うのが良いですか?

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

c++ - fread が早期に EOF に到達するのはなぜですか?

ファイルをメモリに読み込む C ライブラリを作成しています。ファイル (ヘッダー) の最初の 54 バイトをスキップし、残りをデータとして読み取ります。fseek を使用してファイルの長さを判断し、次に fread を使用してファイルを読み取ります。

ループは 1 回実行され、EOF に達したため終了します (エラーなし)。最終的に、bytesRead = 10624、ftell(stream) = 28726 となり、バッファには 28726 個の値が含まれます。EOF に達したとき、fread は 30,000 バイトを読み取り、ファイル位置は 30054 になると予想しています。

C は私の母国語ではないので、どこかで初歩的なミスを犯したのではないかと思います。

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


使用するリファレンスによっては、モード フラグに「b」を追加することが答えであることは明らかです。ボーンヘッドバッジのノミネートを募集しています。:-)

このリファレンスでは、2 番目の段落の 2 番目の文でそれについて説明しています (ただし、表にはありません)。

MSDNでは、ページの途中までバイナリ フラグについて説明していません。

OpenGroupは「b」タグの存在について言及していますが、「効果はない」と述べています。

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

c - autoflush に相当する C (各書き込み後に stdout をフラッシュ)?

Perl では、次のように入力できます。

STDOUT に出力されたものはすべて自動的に fflush() されます。

Cに同等のものはありますか?つまり、すべての printf() の後で stderr を自動的にフラッシュする方法で、stdio に stdout を自動的にフラッシュするように指示できる方法はありますか?

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

c - Cを使用してテキストファイルでランダムな行を返す最良の方法は何ですか?

Cを使用してテキストファイルでランダムな行を返す最良の方法は何ですか? <stdio.h>ニンテンドーDS自作用なので、標準I/Oライブラリ( )を使う必要があります。

説明:

  • ファイルのヘッダーを使用して行数を保存しても、私がやりたいことはうまくいきません。
  • できるだけランダムにしたい(各行が他のすべての行と同じ確率で選択される場合に最適です。)
  • プログラムの実行中にファイルが変更されることはありません。(これはDSなので、マルチタスクではありません。)
0 投票する
6 に答える
130777 参照

c - ファイル記述子を使用して書き込みをフラッシュするにはどうすればよいですか?

この open() と fopen() の誤解は、ARM 上の Linux 2.6.14 カーネルのバグのある I2C ドライバーに起因することが判明しました。動作中のビット バッシュ ドライバーをバックポートすることで、ここで対処しようとしていた問題の根本原因が解決されました。

Linux (I2C) のシリアル デバイス ドライバーの問題を解決しようとしています。デバイスの書き込みと読み取りの間に時間指定された OS 一時停止 (スリープ) を追加することで、動作が (はるかに) 良くなったようです。

余談: I2C の性質は、マスターによって読み書きされる各バイトが、ワイヤーの反対側 (スレーブ) のデバイスによって認識されることです。バスの仕組みに納得がいかない。とにかく...

(固定期間の一時停止を使用するのではなく) 確実に書き込みをフラッシュする、書き込み/読み取りトランザクションがマルチスレッドに適した方法で 完了したことを何らかの形でテストしたいと思います。

使用に関する問題fflush(fd);は、「fd」がストリームポインター(ファイル記述子ではない)である必要があることです。

私の問題はioctl()、ストリーム ポインターを使用しない を使用する必要があることです。すなわち

提案?

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

c - stdinのclose/fcloseは正しいことが保証されていますか?

次の呼び出しは期待どおりの動作をしているように見えます(ストリームを閉じて、それ以上の入力を許可しないでください-ストリームで入力を待機しているものはエラーを返します)が、すべてのコンパイラ/プラットフォームで正しいことが保証されていますか?

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

.net - .netを使用して子プロセスからスタウトをリダイレクトする

私は次のコードを使用しています

stdout私の問題は、正しく読めないことです。簡単に書き込むことができますがstdin、エラーチェックコードを実装しようとしていますが、機能しません。

私が使用しているプログラムはstdout、コマンドラインで実行させても書き込みができないようです。デフォルトで付属してbugいるを再現できます。コマンドプロンプトでを変更すると、通常はに表示されません。ftp.exeWindows XP->FileNameftp.exeftp.exeftp>prg_output

プロンプトはある種のものを使用する必要があり、windows shell curses問題を混同している可能性があることがわかりました。

connect i 127.0.0.1通常、私が受けるはずの指示の直後ですconnecting to 127.0.0.1...が、何も受け取りません。

私が間違っていることについてのヒントはありますか?stdout私が知らない別の種類はありますか?

編集

と同じように、書く行が複数あるため、引数を使用できませんftp.exe。また、ftp.exedirなどのコマンドを入力すると出力されます。少なくとも、不明なコマンドを記述したときに出力されますが、について文句を言いますInvalid command

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

c - FILEの問題

以下のコードで「1506-221 (S) Initializer must be a valid constant expression」というエラーが表示されます。

これは受け入れられますか?これを達成する適切な方法は何ですか?

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

c++ - C++ stdio::rename(); 同期?

stdio::rename()関数呼び出しが完全に同期している場合、私はさまよっていました。関数呼び出しから戻った直後のファイルは新しい名前で利用できますか?それとも、これが起こるまでにしばらく (数ミリ秒) かかる可能性がありますか? 私はイライラするタイミングのバグを調査しており、後者のケースが発生したのではないかと疑っています。

私のソフトウェアは、Win2k3 サーバー マシンで実行されます。

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

c - C で改行を無視する

ファイルを読み取り、改行 (\n) を無視するコードを作成しようとしていますが、これまでのところ:

しかし、「\ n」ビットを無視しているようには見えません(「\」についてはわかりません)

コードのレイアウトについては申し訳ありませんが、このサイトは私のバージョンの Opera を気に入っていないようです :(

編集: ありがとう、私は約 6 時間連続でコーディングを行ってきましたが、インクリメントを完全に見落としていました。

\rについても知りませんでしたが、Linuxをuningしていますが、クロスプラットフォームを作成しようとしているので、これは役に立ちます。