Как конвертировать NSString в / из TCHAR (используя CLucene) - PullRequest
0 голосов
/ 04 июля 2011

Я разрабатываю приложение для iPhone, в которое я импортировал библиотеку c ++ CLucene.Почти все функции CLucene требуют String как TCHAR*.

У меня есть некоторые проблемы при преобразовании NSString в / из данных этого типа.Я искал много решений, но ни одно из них не помогло.

Не могли бы вы показать мне, как выполнить это преобразование?

Мне удалось заставить библиотеку работать с тестовой строкой, определенной with _T() макросом.Однако XCode дает мне:

Conversion from string literal to 'TCHAR *' (aka 'wchar_t *') is deprecated.

Какой метод не рекомендуется использовать?

Спасибо!

Редактировать: Я решил так:

Преобразование из NSString в TCHAR*:

(const TCHAR *) [stringa cStringUsingEncoding:NSUTF32LittleEndianStringEncoding];

Преобразование из TCHAR* в NSString:

[[NSString alloc] initWithBytes:ctc length:wcslen(ctc) *  sizeof(TCHAR)  encoding:NSUTF32LittleEndianStringEncoding]

спасибо!

1 Ответ

0 голосов
/ 08 октября 2011

Следующий код работал для меня:

NSString *pStr = [NSString stringWithFormat:@"%S", GetTCHARString()];
...