CString s="D:\Java\c";
请问如何转换成"D:\\Java\\c",无法用replace,并且CString('\');的表达式也有错误
在线求解,谢谢各位大虾了

解决方案 »

  1.   

    当路径D:\Java\c写到CString 时就是里面的数据就是"D:\\Java\\c",不知道你要做的是什么,如果是你声明的一个值,那要直接用CString s="D:\\Java\\c"; 
      

  2.   

    因为D:\Java\c是在MFC中的返回路径,后面我要调用exe文件,需要转换成D:\\Java\\c,直接用我试了还是不行啊
      

  3.   

    这是部分代码
    CFileDialog  dlg(TRUE,
                _T("bmp"),
                _T("*.bmp"),
                     OFN_EXPLORER,
                     _T("图像文件(*.jpg)|*.jpg|文本文件(*.bmp)|*.bmp|所有文件(*.*)|*.*|")); if( IDOK == dlg.DoModal() ){   
     CString   filename = dlg.GetPathName();
    system("D:\\miao\\hash.exe filename");//这里我直接调用的话就出错了
      

  4.   

    system("D:\\miao\\hash.exe filename");//这里我直接调用的话就出错了
    如果用对的话会输出信息,但得到的只有黑屏,exe本身没有问题的
      

  5.   

    这个不需要转换的,手写的代码和通过dlg.GetPathName获得的情况是不需要的。后者你看到的虽然是单个\,但是实际上已经等价于你手写时的2个反斜杠了。如果你遇到错误,应该时另外有问题
      

  6.   

     str.replace("\\",   "\\\\"); 
    这么写还是出错~,我是新手,各位帮帮忙吧
      

  7.   

    system("D:\\miao\\hash.exe filename");//这里我直接调用的话就出错了这里filename是字符串不是你定义的变量这都分不清楚?
      

  8.   

    函数名: system 
    功   能: 发出一个DOS命令 
    用   法: int system(char *command); 
    system函数已经被收录在标准c库中,可以直接调用  
    程序例: 
    #include <stdlib.h> 
    #include <stdio.h> 
    int main(void) 

    printf("About to spawn command.com and run a DOS command\n"); 
    system("dir"); 
    return 0; 
    } 命令写好
      

  9.   

    system("D:\\miao\\hash.exe D:\\新建文件夹\\pic1.JPG");但这么用情就可以出来结果,是不是参数传递问题?
      

  10.   

    CString  filename = dlg.GetPathName(); 
    filename="D:\\miao\\hash.exe "+filename;
    system(filename );
     
     
      

  11.   


    system("D:\\miao\\hash.exe -filename");//试下这个,加个-