私はfork()
を使用しています。しかし、fork()
を実行する前に、freopen
を書き込みに使用してファイル(例:a.txt
)を開きます。子プロセスはexeclp
の出力をa.txt
にリダイレクトします。子プロセスを終了した後、親プロセスはa.txt
を閉じます。親プロセスがa.txt
を読んで、stdout
にいくつかの情報を表示するにはどうすればいいですか?freopenを使って開いたファイルを閉じた後にstdoutに書きたい
0
A
答えて
1
親プロセスがfreopen(3)
でファイルを開いた場合は、rewind(3)
ライブラリ・コールは、あなたがしたいfread(3)
またはfgets(3)
または任意のAPIを使用するため、ファイルの先頭に再風ストリームのポインタに使用することができますつかいます。
1
freopen
このコードにはまったく属しません。実際に可能であればパイプを使用することが多い方が良いでしょうしかし
FILE *tmp = tmpfile();
if (!(pid=fork())) {
dup2(fileno(tmp), 1);
close(fileno(tmp));
execlp(...);
_exit(1);
}
wait(&status);
/* read from tmp */
:代わりに、あなたのような何かを行う必要があります。
関連する問題
- 1. C#でタイマーを使ってEXEファイルを開いたり閉じたりする
- 2. アプリケーションを閉じて開いたときに最後に開いたビューコントローラを開く
- 3. stdoutとstdinファイル記述子を閉じた後で再オープン
- 4. Vim、最後に閉じたウィンドウを開き、分割していました
- 5. 機能を使用してブラウザウィンドウを閉じた後に開く
- 6. すぐに新しいビューコントローラを閉じて開き直した後に3
- 7. levelDB:DBを閉じた後でも.sstファイルが開いています
- 8. Javascript:開いたウィンドウを閉じて
- 9. SWRevealViewControllerが 'snappoint'を超えて開いたときに閉じる
- 10. プログラムで開いた後にイオン選択を閉じる
- 11. 最後に開いたタブを閉じる
- 12. コマンドプロンプトを開いた後、どのように閉じますか?
- 13. 新しいツールチップを開いたときにツールチップを閉じる
- 14. powershellを使って作成したファイルを閉じるには
- 15. DataGridViewからExcelファイルを閉じた後にExcelインスタンスが閉じられない?
- 16. 開いたファイルを閉じてから開いてください
- 17. freopenが指定されたファイルに書き込みを行っていません
- 18. NSWindowを閉じた後に再び開きますか?
- 19. Javascriptをロードした後に開いたウィンドウを閉じるにはどうしたらいいですか?
- 20. SDLウィンドウが開いた後に閉じます
- 21. ワクチン。ブラウザはunexplainably開いた後に閉じ
- 22. IE11で開いた後、ドロップダウンフィールドが自動的に閉じます
- 23. ロードした後にJavascriptで開いた複数のタブを閉じる
- 24. サブウィンドウを開いたときに親ウィンドウを閉じる
- 25. Realm.getDefaultInstanceによって開かれたレルムを閉じるには?
- 26. バッチを使用して開いている画像ファイルまたは単語の文書を閉じる
- 27. シャドウボックスを閉じた後にポストバックを発生させたい
- 28. 子が開いたときに親フォームを閉じる方法
- 29. 前回閉じたときに新しいウィンドウを開く
- 30. モーダル内のブートストラップモーダル。モーダルを閉じた後にスクロールできない
@ sarnold:しかし、私は 'stdout'に書き込むことはできません。 – miraj
@miraj、aha;私はRがあなたの問題を私よりもよく理解したと思う。あなたの問題は子供のファイルに書いていますか?または、親のファイルから問題を読み取っていますか? – sarnold
子供は完全に書くことができます。問題は、ファイルを読み込んで親によってstdoutに書き込むことです。 – miraj