我工作的一些加密程序,需要做一些緩衝的文件寫入。無緩衝文件寫入的內容是兼容Unicode編碼和交叉開發平臺
我不知道我可以使用什麼功能這一點。
要清楚,我實現了寫一個回調函數,用於讀取的回調函數,當OS的任何第三方應用程序要寫入或從硬盤讀取這些將處理寫或讀。
需要:
- 我需要使用具有unicode名稱的文件。
- 我需要以無緩衝模式寫入。
- 我需要爲Windows,Linux,Mac做到這一點。
我使用C++和Qt。雖然QFile確實有以非緩衝模式打開文件的語法,但文檔卻說它不適用於Windows(也就是說,QFile在Windows中始終處於緩衝模式)。
這導致我的程序崩潰是由於到Windows延遲寫入錯誤。理想情況下,我不希望爲每種類型的操作系統使用單獨的函數(+ lib),但是我意識到我的選擇在尋求跨平臺兼容性方面可能不太好。無論如何,我期待着建議,以我應該使用什麼功能,爲每個平臺如果不存在一個可以爲所有3
你的意思是無緩衝的?用戶空間中沒有緩衝區?操作系統沒有緩衝?沒有硬盤緩衝? – 2012-01-28 22:12:36
通過unbuffered我的意思是寫入應儘快發生,而不會將寫入請求彙集到緩衝區中,以期儘量減少I/O。當我打電話寫信時,我需要它真正寫入硬盤。所以在這方面,我想跳過所有可以跳過的緩衝區。問題我不能跳過硬盤,但可能沒問題。我不希望OS做延遲寫入。 – user440297 2012-01-28 22:22:15