我遇到了使用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