#define __T(x) L ## x
Найден в коде из одного исходного файла заголовка MFC. Он в основном используется для преобразования строк в ........ (я не знаю, что). Если я прав, он преобразует строки в LPCTSTR ... тоже не знаю, что это за тип ...
Я не могу конвертировать char * в LPCTSTR. При обработке файла MFC следующий код всегда будет возвращать ошибку при попытке открыть файл ...
char* filepath = "C:\\Program Files\\Microsoft Office\\Office12\\BITMAPS\\STYLES\\GLOBE.WMF";
if( !file.Open((LPCTSTR)filepath , CFile::modeRead, &fexp) )
{
fexp.ReportError();
return 1;
}
Но вместо этого, если я напишу это так, это не выдаст ошибку:
if( !file.Open( _T("C:\\Program Files\\Microsoft Office\\Office12\\BITMAPS\\STYLES\\GLOBE.WMF") , CFile::modeRead, &fexp) )
{
fexp.ReportError();
return 1;
}
Я смотрю на передачу переменной в качестве первого аргумента методу CFile :: Open ().