The string ends with two ‘|’ characters.MSDN里有说明,要以 两个 '|' 结尾,你在最后加上两个 ‘|’ 就好了,如下:CFileDialog fileDlg(TRUE,NULL,NULL,0,"cpp文件(*.cpp)|*.cpp|txt文件(*.txt)|*.txt||");