2013-07-09 4 views
-1

Я пытаюсь нарисовать текст в окно. Некоторые достаточно, две вещи, которые мне интересно. Почему учебник, который я использую, не помещает L "String Here", и я должен?Ошибка LPCWSTR - C++

Я в замешательстве об этом, так или иначе, в основном, я пытаюсь нарисовать текст, и я получаю сообщение об ошибке.

enter image description here

+0

Потому что у вас определен UNICODE, как и должно быть. – chris

+0

@chris - это LPCWSTR в зависимости от определения UNICODE? –

+1

@LuchianGrigore, Нет, но тип параметра есть. Это был бы «LPCSTR» без. – chris

ответ

2

Если UNICODE определен в проекте (который вы должны быть по умолчанию), то вы можете использовать либо

wstring S = L "Hello, World!";

или API, ANSI для TextOut

TextOutA (HDC, 10, 10, s.c_str(), s.size());

1

Смотрите следующий вопрос:

What does LPCWSTR stand for and how should it be handled with?

В принципе, вы пытаетесь преобразовать обычную строку символов в строку широких символов неявно, и это не позволит вам сделать это. В верхней ответ:

Чтобы получить нормальный C символьной строки, чтобы назначить на LPCWSTR, вам нужно добавить к ней префикс L

LPCWSTR а = L «TestWindow»;

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

  • Нет связанных вопросов^_^