就是CString strFileName;
    strFileName="C:\MyMusic\yinyue1.txt";
当我在调用strFileName的时候,他就变成了"C:MyMusic yinyue1.txt",少了其中的"\",而我用strFileName.Replace("\","\\");怎么总是报错。
如何转换成我可以利用的文件名?

解决方案 »

  1.   

    strFileName="C:\\MyMusic\\yinyue1.txt";
      

  2.   

    \这个字符在字符串中不能单独出现,它代表对下一个字符要进行转义。
    所以strFileName.Replace("\","\\");就会有语法错误。因为"\"这种写法是不完整的,编译器认为这个东西是个不完整的字符串,没有写后面半个括号,因为它把后面的双引号转义了。
      

  3.   

    strFileName = "C:\\MyMusic\\yinyue1.txt";
    直接将路径写成这样就好了
      

  4.   

    哦,理解错了
    strFileName="C:\\MyMusic\\yinyue1.txt"; //ok
      

  5.   

    谢谢各位。直接写是可以呀,但是strFileName=""后面的路径,是我从别人的接口提供的字符串那里得到的,别人只提供"C:\路径\文件名.txt"字符串.不是固定的呀,我总是要转换成strFileName="C:\\路径\\文件名.txt"形式。用什么函数可以直接让他转换成这种格式呢?