Как strncpy () для WCHAR

Я получил кусок кода, который работает под многобайтовым набором символов. Тем не менее, я хочу преобразовать этот кусок кода в UNICODE. Поэтому я исправил много вещей, но потерпел неудачу в строке strncpy (). Это строка, которую я хочу изменить:

strncpy(a.szTip, szToolTip, bLength);

Я использовал множество функций, чтобы исправить это, но все они потерпели неудачу.

Вот ошибка:

strncpy cannot convert parameter 1 from WCHAR[128] to char *

0

Решение

При работе с широкими символами используйте wcsncpy() (и другие соответствующие функции).

Как указывает Реми Лебо, используя _tcsncpy() макрос безопаснее, если вы хотите поддерживать как ANSI & Юникод строит (расширяется до нужной функции соответственно).

6

Другие решения

Я думаю, что вы не должны использовать WCHAR для Unicode. Используйте char. http://www.utf8everywhere.org в значительной степени обобщает мой взгляд на это.

0

По вопросам рекламы [email protected]