2014-12-06 5 views
0

다음과 같이 부울 mapped_file_params를 초기화합니다.부스트 메모리 맵핑 된 파일 : 읽기 - 쓰기 액세스

mapped_file_params param; 
param.path = _fileName.c_str(); 
param.flags = mapped_file::readwrite; 
int nGranularity = mapped_file::alignment(); 
//! must be in multiples of Granularity. 
param.offset = 5*nGranularity; 

파일 크기로 파일을 열면 "최대 하나의 '모드와'플래그가 지정 될 수 있습니다 '라는 std :: except 예외가 발생합니다. 내가 부스트의 문서 에서처럼 모드를 채우지 않았다. 모드는 더 이상 사용되지 않는다. 추가로 새로운 코드는 플래그를 사용해야한다. http://www.boost.org/doc/libs/1_57_0/libs/iostreams/doc/classes/mapped_file.html

내가 뭔가를 놓친 거지 :

내 부스트 파일 형식은 내가

_bioFile.open(param, filesize); 

부스트 IO 문서를 사용하여 파일을 열려고 시도했다

boost::iostreams::mapped_file _bioFile; 

으로 정의된다.

답변

0

답변을 원하시면,이 코드로 문제를 해결할 수있었습니다.

_bioFile.open(_fileName.c_str(), std::ios_base::in | std::ios_base::out, filesize);