Моя цель - преобразовать int
в строку широких символов и поставить перед ней префикс другой широкой строки. Мое текущее решение таково:
#define bufsize 20
char buffer[bufsize];
sprintf_s(buffer,bufsize,"%s%d", "my prefix", 42);
wchar_t wbuffer[bufsize];
mbstowcs_s(NULL, wbuffer, buffer, bufsize);
Я неправильно ожидал, что будет работать следующее:
#define bufsize 20
wchar_t buffer[bufsize];
swprintf_s(buffer,bufsize,"%s%d",L"my prefix", 42);
Существует ли более краткая версия моего решения, которая работает? Кажется неправильным, что я должен выполнить преобразование int
в char[]
, а затем преобразовать в wchar_t[]
. Почему я не могу просто конвертировать из int
в wchar_t*
?