Есть ли способ указать кавычки const unichar? - PullRequest
2 голосов
/ 15 февраля 2010

Используя xcode, я пытаюсь получить строку const c в массив unichar, выполнив следующие действия:

const unichar *str = "Test String";

но "Test String" типизируется как (const char *) и выдает ошибки компилятора. Есть ли способ указать «тестовую строку» типа unichar?

Я надеялся на что-то вроде:

const unichar *str = U"Test String";

так что вся работа была выполнена во время компиляции.

Ответы [ 4 ]

1 голос
/ 15 февраля 2010

Насколько я знаю, нет способа сделать это, используя такую ​​строку.
Вы можете сделать это так
const unichar string [] = {'u', 'n', 'i', 'c', 'o', 'd', 'e'};

Но кроме этого, я не знаю.
Но я могу ошибаться, я не очень много сделал с этой стороной c ++:)

0 голосов
/ 27 ноября 2012
NSString *string1 = @"Test String";
const unichar *str = (const unichar *)[string1 cStringUsingEncoding:NSUnicodeStringEncoding];
0 голосов
/ 27 июля 2012

Если вы выбрали C ++ 11 для C ++ Language Dialect в разделе «Компилятор Apple LLVM» в настройках вашего проекта, вы можете использовать новый тип символов C ++ char16_t - он такой же, как и тип unichar. Затем вы можете инициализировать строковые литералы в коде так:

const char16_t * str = u "Моя строка UTF-16";

0 голосов
/ 15 февраля 2010

Возможно, const unichar *str = L"Test String"; подойдет для вас.

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