问题描述
- vc程序搬运vs2012出现问题
- void playSound(int s_sort)
{
char ss_sort[20]={0};
::sprintf_s(ss_sort./music/clear%d.wav""s_sort);
PlaySound(ss_sortNULLSND_ASYNC);
}
error C2664: “PlaySoundW”: 不能将参数 1 从“char [20]”转换为“LPCWSTR”
应该怎么转换呢
解决方案
v
oid playSound(int s_sort){char ss_sort[20]={0};::sprintf_s(ss_sort./music/clear%d.wav""s_sort);PlaySoundA(ss_sortNULLSND_ASYNC); }
API默认是unicode字符集。用ANSI版本API
解决方案二:
首先在工程的属性中看看工程是设置 Unicode ,还是 ANSI。如果是后者,且还有次错误,则在 ss_sort 前加强制转换就可以了。如果是前者, ss_sort 最好定义成 TCHAR 类型,使用 wsprintf 来生成字符串。
解决方案三:
在项目属性中,把工程的字符集选择成多字符集也可以
时间: 2024-08-01 11:58:22