Как ввести строку с однобайтовыми символами и вывести эту строку в двухбайтовом формате

Я пытался использовать функцию MultiByteToWideChar. Точнее мне нужно это выполнить с её помощью.

char str [] = "poproboval";
    int strSize = sizeof(str);
    int count = MultiByteToWideChar(CP_ACP, 0, str, strSize, NULL, 0);
    nWChar = nWChar * sizeof(wchar_t);
    wchar_t wstr[count];
    MultiByteToWideChar(CP_ACP, 0, str, strSize, &wstr[0], count);
    printf("\nUnicode:%s",wstr);

Но у меня выводить только первую букву.


Ответы (1 шт):

Автор решения: Zhihar

вот такой код не работает

wchar_t data[] = L"test";

printf("%s", data);

вот такой код работает

wchar_t data[] = L"test";

printf("%ls", data);

В общем используйте %ls

→ Ссылка