void CMyMediaPlayerView::OnFileOpen() 
{
CFileDialog dlg(true);
char s\"wavefile(*.wav)\0*.wav\0midifile(*.midi)\0*.mid\0mp3file(*.mp3)\0mpegfile(*.mpeg)\0*.mpeg\vediofile(*.dat)\0*.dat\0Allfile(*.*)\0*.*\0\0";
dlg.m_ofn.lpstrFile=(LPSTR)s;
if(dlg.DoModal()==IDOK)
{
m_MP.SetFileName(dlg.GetFileName());
m_MP.Stop();
}
}Compiling...
MyMediaPlayerView.cpp
D:\Program Files\Microsoft Visual Studio\MyProjects\cl\MyMediaPlayer\MyMediaPlayerView.cpp(95) : error C2017: illegal escape sequence
D:\Program Files\Microsoft Visual Studio\MyProjects\cl\MyMediaPlayer\MyMediaPlayerView.cpp(95) : error C2143: syntax error : missing ';' before 'string'
Error executing cl.exe.MyMediaPlayer.exe - 2 error(s), 0 warning(s)

解决方案 »

  1.   

    char *s="wavefile(*.wav)\0*.wav\0midifile(*.midi)\0*.mid\0mp3file(*.mp3)\0mpegfile(*.mpeg)\0*.mpeg\vediofile(*.dat)\0*.dat\0Allfile(*.*)\0*.*\0"; 

    char s[]="wavefile(*.wav)\0*.wav\0midifile(*.midi)\0*.mid\0mp3file(*.mp3)\0mpegfile(*.mpeg)\0*.mpeg\vediofile(*.dat)\0*.dat\0Allfile(*.*)\0*.*\0"; 
    在最後要不要兩個\0都可以, 因為VC會自動加一個俾你, 所以1+1=2
      

  2.   

    to:thomas269(Thomas) 
    编译完成后,执行文件时提示:声明失败。
    怎么回事?
      

  3.   

    char s[]="wavefile(*.wav)\0*.wav\0midifile(*.midi)\0*.mid\0mp3file(*.mp3)\0mpegfile(*.mpeg)\0*.mpeg\\vediofile(*.dat)\0*.dat\0Allfile(*.*)\0*.*\0";