Вот код, который должен выполнить преобразование.
void PrintUtf8(const TCHAR* value) {
if (value == nullptr) {
printf("");
return;
}
int n = WideCharToMultiByte(CP_UTF8, 0, value, -1, nullptr, 0, nullptr, nullptr);
if (n <= 0) {
printf("");
return;
}
char* buffer = new char[n];
WideCharToMultiByte(CP_UTF8, 0, value, -1, buffer, n, nullptr, nullptr);
printf("%s", buffer);
delete(buffer);
}