Я получил кусок кода, который работает под многобайтовым набором символов. Тем не менее, я хочу преобразовать этот кусок кода в UNICODE. Поэтому я исправил много вещей, но потерпел неудачу в строке strncpy (). Это строка, которую я хочу изменить:
strncpy(a.szTip, szToolTip, bLength);
Я использовал множество функций, чтобы исправить это, но все они потерпели неудачу.
Вот ошибка:
strncpy cannot convert parameter 1 from WCHAR[128] to char *
При работе с широкими символами используйте wcsncpy()
(и другие соответствующие функции).
Как указывает Реми Лебо, используя _tcsncpy()
макрос безопаснее, если вы хотите поддерживать как ANSI & Юникод строит (расширяется до нужной функции соответственно).
Я думаю, что вы не должны использовать WCHAR для Unicode. Используйте char. http://www.utf8everywhere.org в значительной степени обобщает мой взгляд на это.