CString strZap("C--");
int n = strZap.Replace('-', '+');
这样可以CString strZap("d:\asd\asd\asd\asd\asd");
int n = strZap.Replace('\', '\\');
这个这样
F:\work\c++\fffffff\fffffffDlg.cpp(180) : error C2017: illegal escape sequence
F:\work\c++\fffffff\fffffffDlg.cpp(180) : error C2017: illegal escape sequence
F:\work\c++\fffffff\fffffffDlg.cpp(180) : error C2001: newline in constant

解决方案 »

  1.   

    CString strZap(_T("d:\\asd\\asd\\asd\\asd\\asd"));
    int n = strZap.Replace(_T('\\'), _T('\\\\'));
      

  2.   

    int n = strZap.Replace(_T("\\"), _T("\\\\"));
    单杠\是转义符,双杠\\才表示字符(\)
      

  3.   

    CString strZap("d:\asd\asd\asd\asd\asd");
    改成:CString strZap("d:\\asd\\asd\\asd\\asd\\asd");
      

  4.   

    CString strZap("d:\\asd\\asd\\asd\\asd\\asd");
    int n = strZap.Replace('\\', '\\\\'); 
    -------------------------------------
    ???
      

  5.   

    我知道要这么改,可是filepathname得到的就是只有一个\的文件路径
      

  6.   

     CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
         if(dlg.DoModal()==IDOK)
     { 
         CString FilePathName;      
         FilePathName=dlg.GetPathName();    
     }
     
    }
      

  7.   

    c#不是有个@符号,如@“d:\aaa\aaaa”,他可以不把\a看成转义字符,直接输出d;\aaa\aaaa
    c++中有吗