C++で最も速い方法は、別のプロセスによって書き込まれたファイルから新しい行を読み込むことです。または、ファイルに新しい行があることを私のプログラムに通知する方法は?新しい行が別のプロセスによって書き込まれたときにファイルから読み取る
答えて
最も速い方法は、パイプやイベントを使用することです(Windowsアプリケーションの場合)。
まだファイルを使用したい場合は、まずファイルが実際に変更されていることを確認してください(シークしてprew値と比較してください)。 「最後の探求の価値」に行き、それを読むよりも。
そして、mutexを使うのが良いでしょう(ファイルからデータを読み込む場合)。
私にサンプルコードを与えることは可能ですか? – user562549
実際、それは些細な状況です。非常に単純な例があります。外部のアプリケーションがファイルから最後のデータを(同期なしで)読み取る方法は、[link](http://goo.gl/eAO2g)です。より詳細な情報源が必要な場合は、教えてください。 –
OSが同時ファイルアクセスをサポートしていると仮定すると、EOFを求めて、statが変更されるのを待ってからファイルから読み込もうとする必要があります。あなたはループを遅くするために睡眠を追加したいかもしれません。
POISX(-fオプション付き)の 'tail'コマンドは、 - source code is availableを実装しています。
私はこの回答が役立つことに躊躇して同意します。しかし、95%が言うには、OPにはソケット/パイプ/ [プロセス間(名前付き)セマフォ](http://msdn.microsoft.com/en-us/library/ms684326(v=vs.85)asp)などが必要です – sehe
私の頭の上から、uがこのような何かを試してみました:
は、それを保存、ファイルの行をカウントします。 ファイルのサイズを取得してください(私は、私は楽しいを破棄したくない:D)。 次に、ファイルのサイズが変わったときに最後に保存された行を読み込みます。何度も繰り返します。
は、ファイルの変更についての通知を取得するために
使用inotify
:)楽しみを持ってして、ファイルは今までに、次に大きい場合には、あなたの最後のPOSから再度読み込みます。
- 1. Ruby:システムプロセスによって書き込まれたファイルからの読み込み
- 2. C++のjavaのwriteIntメソッドによって書き込まれたファイルからintを読み込みますか?
- 3. JAVA - ファイルからの読み取りと別のものへの書き込み
- 4. DBからの読み取りとファイルへの書き込み
- 5. plistファイルからの書き込みと読み取り
- 6. ファイルから読み込み、Javaのファイルに書き込む
- 7. ファイルが書き込まれている間にデータを読み取る
- 8. ファイル読み込みと書き込み
- 9. ファイルへの書き込み、別のプロセスで使用されているファイル
- 10. ファイルの読み取りと書き込みの両方を行います。
- 11. ファイルへの読み書きの高速読み込みと書き込み
- 12. Androidでのファイルへの書き込みとファイルからの読み取り
- 13. Java/Android - Inputstreamから読み取った後にOutputstreamに書き込む
- 14. EDIファイルを読み込んで新しいファイルに書き込む
- 15. 複数のプロセス読み取り/書き込みfifo
- 16. リソースファイルからのオブジェクトの書き込みと読み取りIOS
- 17. マルチスレッドを使用したファイル読み込みの書き込み
- 18. ファイルを読み込もうとしているときにページが読み込まれない
- 19. ファイルから読み込んでStringIOに書き込む - Python
- 20. ファイルに書き込まれた整数が別の値として読み取られるのはなぜですか?
- 21. xlsとxlsxからの読み込みと書き込みは、Javaのファイルexcher
- 22. 新しいビューが読み込まれたときにビデオを再生する
- 23. txtファイルからの読み取りとHBaseへの書き込み
- 24. Python 2.7 - ファイルからのリストの書き込みと読み取り
- 25. cmdからpythonを実行しているときにファイルが正しく読み取られない
- 26. Linuxプロセスとその子プロセスによって読み書きされた合計バイト数
- 27. ファイルを読み書きしているときに(OSレベルで)何が起こっていますか?
- 28. 同じファイルへの書き込みと読み取り
- 29. ファイルの新しい行にデータを書き込むことができない
- 30. AndroidのSDカードからの書き込みとファイルの読み込み
プロセス間通信のファイルが必要ですか?代わりにパイプを使用してください。パイプはそれらの内部のデータについて通知するメカニズムを持っていますが、ファイルにはありません。 – Raiv