私はソフトウェアプロジェクトに取り組んでおり、あるプロセスから別のプロセスにいくつかの値を送信する必要があります。私は今日のより良い半分を試して、まだそれは動作していません。誰かが私にこれを行う方法の簡単な例を書いてもらえますか?構造体の内容を名前付きパイプ(fifo)にどのように送信できますか?
答えて
脚本:
struct X foo = /* ... */;
fwrite(&foo, sizeof foo, 1, outfile);
リーダー:
struct X foo;
fread(&foo, sizeof foo, 1, infile);
FILE
ポインタinfile
とoutfile
は、おそらく、関連するパイプを開くPOSIXファイルディスクリプタにfdopen
を使用することによって得られます。
読み取りと書き込みの両方の呼び出しが1
を返すことを確認します。それ以外の場合はエラーが発生しました。
部分書き込みを適切に処理するには、 'size'引数を' 1'に、count引数を 'sizeof foo'にする方がよいでしょう。 '1'の 'count'引数はそれを不可能にします。おそらく 'fwrite(&foo、1、sizeof(foo)、outfile); –
@AndrewHenle' FILE * 'がバッファリングされているかどうかによって異なります。そしてKerrekにとって、私は実際に非テキストデータのパイプを読み書きするためにstdio関数の使用を推奨しません。 'write'を使うと、それがアトミックになります(書き込まれるデータがパイプの内部バッファよりも小さい場合)。 –
@Someprogrammerdude: 'write(2)'はどのように正確に原子ですか?それは書き込まれたバイト数に関しては原子量ですが、それは1つでもないかもしれません。 –
- 1. 名前付きパイプはどのようにウィンドウ内で動作しますか?
- 2. fifoファイル/名前付きパイプはいつ使用しますか?
- 3. OpenCVで名前付きパイプ(FIFO)から再生する
- 4. ネイティブの名前付きパイプとSystem.IO名前付きパイプの間で複数のメッセージを送信
- 5. Cでファイルの名前を読み取った名前付きパイプ(FIFO)
- 6. C++:名前付きパイプでオブジェクトを送信する
- 7. 名前付きパイプの問題をどのように解決しますか?
- 8. インプロセスのみのWCF名前付きパイプ通信ですか?
- 9. 名前付きパイプの例
- 10. NSISの名前付きパイプ
- 11. 名前付きパイプによるWCF二重通信
- 12. パスの変更前にディレクトリ構造内の同じ名前付きページにリダイレクト
- 13. 名前付き(fifo)パイプを使用してPythonとC++の間で配列(画像)を転送する
- 14. Golangでどのように2つの構造体をマージできますか?
- 15. 名前付きパイプおよび複数のクライアントと通信しますか?
- 16. 構造体をCでパイプに読み書きする
- 17. 名前付きFIFOパイプはディスクの書き込みと読み取りを使用しますか?
- 18. 名前付きパイプで通信する2つの子プロセス
- 19. StackExchange.Redis構造体を送信
- 20. 名前のある構造体を別の構造体に匿名構造体として埋め込む
- 21. 名前付きパイプはデータをストリームできますか?
- 22. 構造体をデータベースに送信
- 23. 変更できない埋め込み構造体のフィールドにどのようにタグを付けますか?
- 24. データテーブルの内容をヘッダ付きのCSVファイルに送信
- 25. 名前付きパイプがbashの通常のパイプより高速ですか?
- 26. FIFOの名前付きパイプを開くときにプログラムを一時停止させるWait()
- 27. 名前付きパイプに接続できるクライアントの数
- 28. WCFの名前付きパイプのデバッグ
- 29. クラスライブラリ内の名前付きパイプWCFサービスにアクセスできないC#
- 30. .NETとMFCの間に名前付きパイプを設定するにはどうすればよいですか?
一方の端に構造体を '書き込み 'し、他方の構造体を'読み込み'ますか?何を試しましたか?あなたの試みにはどんな問題がありますか? [良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)、[最小限の完全で検証可能な例]を作成する方法を学んでください(http://stackoverflow.com/jp)。/help/mcve)。 –