Изучение C: странный код, что он делает? - PullRequest
1 голос
/ 10 августа 2010

Я изучаю wxWidgets и одновременно изучаю C / C ++.Часто функции wxWidgets ожидают wxString, а не string, поэтому wxWidgets предоставляет макрос wxT( yourString ) для создания wxString s.Мой вопрос касается расширения этого макроса.Если вы наберете wxT("banana"), то расширенный макрос будет читать L"banana".Какой смысл это имеет в C?Является ли L здесь функцией, которая вызывается с аргументом "банан"?

Ответы [ 3 ]

5 голосов
/ 10 августа 2010
  • "banana" - это слово, написанное с использованием 1-байтовых символов ASCII.

  • L"banana" - слово, написанное с использованием многобайтовых (обычно 2 = байтовый UNICODE) символов.

2 голосов
/ 10 августа 2010

L сообщает вашему компилятору, что это строка в юникоде вместо "нормальной".

2 голосов
/ 10 августа 2010

L - флаг на строках, чтобы он знал, что это широкая (Unicode) строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...