2012-12-13 71 views
0

我有下面的代碼,加載一個文件到升壓mapped_region:迭代通過升壓mapped_region /內存映射文件?

file_mapping fm(FilePath, read_only); 
mapped_region region(fm, read_only); 
char * const data = static_cast<char *>(region.get_address()); 
  • 我怎麼會由字符通過得到的數據迭代,性格嗎?
  • 有什麼辦法上面的代碼可以被修改,所以我不使用char*指針,而是一個靜態的字符數組char c[x]

回答

1
file_mapping fm(FilePath, read_only); 
mapped_region region(fm, read_only); 
char * const data = reinterpret_cast<char*>(region.get_address()); 

// Iterate through the data obtained, character (c) by character. 
for(std::size_t n = 0; n < region.get_size(); ++n) 
{ 
     char c = data[n]; 
} 
+0

我得到一個問題,c和數據之間的常量。 char類型的值不能被用來初始化類型爲const char的實體。 – user997112

+0

我有一個錯字,固定。 – ronag

+0

感謝........將有可能使用region.get_size()以某種方式創建固定大小的陣列? – user997112