Мне нужно конвертировать из char * в wchar.
Вот как у меня дела.
char * retrunValue= getData();
size_t origsize = strlen(returnValue) + 1;
const size_t newsize = 200;
size_t convertedChars = 0;
wchar_t wcstring[newsize];
mbstowcs_s(&convertedChars, wcstring, origsize, returnValue, _TRUNCATE);
wcscat_s(wcstring, L" (wchar_t *)");
Функция getData () возвращает значение char *, например, «C: / Documents and Settings»
когда я пытался напечатать преобразованное значение «wcstring»: значение не является правильным: это что-то вроде «C: / Documen9» или что-то вроде мусора.
1- Скажите, пожалуйста, безопасно ли таким образом конвертировать char * в wchar, как я делаю?
2- Как я могу получить исходное значение, возвращаемое функцией getData ()
Спасибо,
Привет
ОБНОВЛЕНИЕ:
size_t origsize = strlen(returnValue) + 1;
const size_t newsize = 200;
size_t convertedChars = 0;
wchar_t wcstring[newsize];
wsprintf(wcstring, newsize, L"%S (wchar_t *)", returnValue);
добавил это, но это говорит.
"аргумент типа" size_t несовместим с параметром типа "LPCWSTR" "