2014-10-13 3 views
-2
LPWSTR l = L"D:/MyFile.txt";  

Я искал всюду, но не смог найти ответ. Спасибо!Что означает эта строка в C++?

+0

Это означает, что это широкая строка символов, то есть UTF-16 в случае окон. – radar

+0

_ «Я искал везде» _ Честно? Я этому не верю! http://en.cppreference.com/w/cpp/language/string_literal –

+0

Возможно, вы также захотите также проверить ['TEXT'] (http://msdn.microsoft.com/en-us/library/windows /desktop/dd374074(v=vs.85).aspx) (он автоматизирует выбор кодировки для вас в соответствии с настройками компиляции). – MasterMastic

ответ

3

Длинный указатель для широких символов. И вы не искать везде вызвать 1-й Google попал по очкам LPWSTR в MSDN:

Тип LPWSTR является 32-битный указатель на строку 16-разрядных символов Unicode, который может быть нулем. Тип LPWSTR указывает указатель на последовательность символов Unicode, которая МОЖЕТ быть прервана нулевым символом (обычно называемым «Unicode с нулевым завершением»).

typedef wchar_t * LPWSTR, * PWSTR;

И L перед литералом указывает, как следует понимать литерал. Это вроде как суффиксы для числовых типов, например: 10u, 4.0f. Поскольку тип W (wchar_t), соответствующий аналог для буквального определения - L.

Смежные вопросы