2012-12-28 49 views
2

我有寫入/讀取數據到文件的C++程序(turbo C++版本3)​​。 當程序的多個實例運行,並在執行的特定點上,當打開該程序的兩個實例寫入同一時刻的文件,一些信息會丟失C++文件同步問題

if(!filein) 

不適合這種情況。它與同步一個問題,我想

有什麼辦法,如果該文件被打開或不執行任何操作之前

謝謝

+0

將互斥體嵌入到文件本身中請發佈更多代碼。就像用來打開文件的代碼一樣。 – sqreept

+2

您需要文件鎖定,這在標準庫中沒有實現。看到這個問題:http://stackoverflow.com/q/839856/1175253 – Sam

+0

你需要一個互斥來協調對文件的訪問。你可以使用操作系統API嗎?如果是這樣,你的目標是什麼平臺? –

回答

1

如果您有可用升壓那麼最簡單/最好的,我可以檢查方式是使用boost::interprocess::file_lockdocs