我的一个字符串变量s="c:\dd\dd.h",作为另一个函数的输入参数时,那个函数
需要如"c:\\dd\\dd.h"这样的形式才有效,问怎样才能转换成那种形式

解决方案 »

  1.   

    CString str;
    str="c:\dd\dd.h";
    str.Replace("\\", "\\\\");
      

  2.   

    不对不对,"\\"代表'\',所以"c:\\dd\\dd.h"实际就是c:\dd\dd.h
      

  3.   

    应该这么说:在C/C++里,给字符串赋值时,"\"是转义符,所以要表示一个"\"字符,必须使用"\\",

    str="c:\\dd\\dd.h";  //其在内存的值是:"c:\dd\dd.h"
    如果这样赋值str="c:\dd\dd.h"; 则\d被认为是转义符号,不过好像\d没有被定义于此相同的是\",表示一个[ " ]双引号,但是如果你是从外部文件读取进来的字符串,则可以保证其值的正确性,不必转换,因为其在内存的表示本来就是"\"字符。