Согласно документации, после Local \ or Global \ любой символ в порядке, за исключением обратной косой черты. Я решил назвать мой ММФ по файлу физического файла, как это:Именование файлов с отображением памяти
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: \ Test \ vht1.tst, то она производит строку «Local \ C:/test/vht1.tst "
У меня нет проблем с этим на моем компьютере, но это программное обеспечение будет входить в общую среду размещения, и я не мог найти много информации об условном обозначении MMF. Это хорошая идея?
Вам не разрешено изменять содержимое строки, возвращаемой '.c_str()'. – Barmar
ну, это работает .. но я предполагаю, что это не гарантировано, что бы вы предложили для замены персонажа? – user81993
Используйте 'FilePath [i]' вместо 'pP [i]'. – Barmar