wchar 转 utf8 代码
char *dup_wchar_to_utf8(wchar_t *w)
{
char *s = NULL;
int l = WideCharToMultiByte(CP_UTF8, 0, w, -1, 0, 0, 0, 0);
s = (char *)av_malloc(l);
if (s)
WideCharToMultiByte(CP_UTF8, 0, w, -1, s, l, 0, 0);
return s;
}
使用中的核心代码:
wchar_t w[256] = L"audio=麦克风 (USB Microphome)";
string fileAudioInput = dup_wchar_to_utf8(w);
以上确保了中文的设备名能够输入到ffmpeg中。
另外vs使用Unicode字符集。MFC使用标准windows库。在项目的属性也中,配置属性->常规.