0
根據文檔,在Local \或Global \之後,除了反斜槓之外,任何字符都可以。我決定按照這樣的物理文件的文件路徑來命名我的MMF:命名內存映射文件
std::string GetMapName(std::string FilePath) {
std::string Ret("Local\\");
char* pP = (char*)FilePath.c_str();
for (int i = 0; i < Path.size(); i++) {
if (pP[i] == '\\') pP[i] = '/';
}
Ret.append(FilePath);
return Ret;
}
因此,如果該文件是在C:\測試\ vht1.tst那麼它產生的字符串「本地\ C:/測試/ vht1.tst「
我在我的電腦上沒有這個問題,但這個軟件將在共享主機環境中結束,我無法真正找到關於命名MMF的公約的很多信息。這是一個好主意嗎?
你不允許修改()''通過.c_str返回的字符串的內容。 – Barmar
以及它的作品..但我猜它不能保證這樣做,你會建議什麼樣的字符替換呢? – user81993
使用'FilePath [i]'而不是'pP [i]'。 – Barmar