Как преобразовать wstring в string без ошибок?

string take_module_name()
{
  TCHAR FileName[MAX_PATH + 1]; // буфер для имени файла
  GetModuleFileName(NULL, FileName, sizeof(FileName) / sizeof(FileName[0]));
  int lastSlash = 0;
  for (int i = 0; i < MAX_PATH + 1; i++)
   {
     if (FileName[i] == '\\')lastSlash = i;
   }
  TCHAR filename[20]
  wcscpy_s(filename, &FileName[lastSlash+1]);
  wstring wresult(filename);
  string result(wresult.begin(), wresult.end());
  return result;
}

void remove_prefetch()
{

  string file_way = (string)"DEL /q %systemroot%\\Prefetch\\" + (take_module_name() + (string)"*.pf";
  std::system(file_way.c_str());

}

Проблема в том что если файл имеет русские буквы,то файл не находится,так как вместо русских букв цифры.Я подозреваю что проблема в преобразовании wstring в string.Если так,то есть ли какие то пути решения?


Ответы (0 шт):