我遇到了使用mapped_file iostreams庫的boost問題。boost :: iostreams :: mapped_file文件路徑問題
Boost文檔:mapped_file
通過所有的文檔和例子我能讀讀書後,我仍然不能得到下面這段代碼工作。我假設當你傳遞一個new_file_size和一個到mapped_file_params類的路徑時,它會在我使用參數中的mapped_file_params對象調用mapped_file的構造函數時打開(並創建)所需位置的文件。 但它唯一能做的就是用一個奇怪的名字創建一個文件,比如項目工作目錄中的「%F8/134」,而不是我告訴它的地方。 也許我錯了,應該在將文件指定到mapped_file之前創建文件?閱讀完文檔後,我假設它在填寫new_file_size參數時創建了一個新文件。並指定文件名。
以前有沒有經歷過這個?有關如何解決此問題的任何建議?
下面的代碼:
boost::iostreams::mapped_file_params param(filename); // filename is a std::string with the correct path
param.flags = boost::iostreams::mapped_file::mapmode::readwrite;
param.new_file_size = sizeNeeded; // sizeNeeded is the size of the data
param.length = sizeNeeded;
boost::iostreams::mapped_file fileMap(param); // at this point the file is created
…
感謝您的時間,
亞歷山大
你可以嘗試初始化構造函數中的所有參數,比如offset嗎? – 2013-03-24 18:29:00
只是試了一下,它沒有改變任何東西 – Lex 2013-03-24 19:39:41