首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

函数传递值有关问题

2013-01-28 
函数传递值问题本帖最后由 llkoio 于 2013-01-22 12:51:50 编辑为什么函数的实参 audio(Windows XP 启动.

函数传递值问题
本帖最后由 llkoio 于 2013-01-22 12:51:50 编辑 为什么函数的实参 audio("Windows XP 启动.wav");在函数运行的时候 MusicName[MAX_PATH]的值是乱码呢

void audio(char MusicName[MAX_PATH])
{
char syspath[MAX_PATH];
        memset(syspath, 0, MAX_PATH);
        GetWindowsDirectory(syspath, MAX_PATH);
char path[MAX_PATH];
memset(path, 0, MAX_PATH);
wsprintf(path, "%s\\Media\\%S", syspath, MusicName);
char shortname[MAX_PATH + 10];
memset(shortname, 0, MAX_PATH + 10);
GetShortPathName(path, shortname, MAX_PATH + 10);
//MessageBox(NULL, path, TEXT("苍老师舍身为您解毒"), MB_ICONASTERISK);
char cmd[MAX_PATH];
memset(cmd, 0, MAX_PATH);
wsprintf(cmd, "play %s wait", shortname);
mciSendString(cmd , "", 0, NULL);
}


audio("Windows XP 启动.wav");

[解决办法]

//测试环境,VS08,win32程序,多字节。
MusicName 没有乱码。
wsprintf(path, "%s\\Media\\%s", syspath, MusicName);// %s小写 

热点排行