Я раньше не использовал широкие символы.Вот код от кого-то еще:
char moduleFileName[512];
int size = ::GetModuleFileName(NULL,moduleFileName,sizeof(moduleFileName));
char c_drive[256];
char c_dir[256];
_splitpath_s(moduleFileName,c_drive,sizeof(c_drive),c_dir,sizeof(c_dir),NULL,0,NULL,0);
root = c_drive;
root.append(c_dir);
wchar_t moduleFileNameW[512];
int sizeW = ::GetModuleFileNameW(NULL,moduleFileNameW,sizeof(moduleFileNameW));
wchar_t w_drive[256];
wchar_t w_dir[256];
_wsplitpath_s(moduleFileNameW,w_drive,sizeof(w_drive),w_dir,sizeof(w_dir),NULL,0,NULL,0);
wroot = w_drive;
wroot.append(w_dir);
SEVEN_ZIP_EXE = wroot;
SEVEN_ZIP_EXE += L"\\7z.exe";
Суть в том, чтобы установить переменную, в которой находится файл 7z.exe.Когда я отлаживаю его в моей 64-битной системе Windows 7 Prof., я получаю то, что мне кажется недопустимым символом для wroot, например
쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 쳌쳌 Blockquote
1008 *