小弟在一个项目中出现如下问题,请各位大哥帮忙解决,小弟感激不尽!
   
   问题如下:
   
   这个项目中我通过OpenFileDialog控件来获取用户选择的文件路径比方说:C:\aa\a.txt(当然在程序中所获取该路径是进行了适当的转义C:\\aa\\a.txt),然后在这个项目中我们会应用到上述的路径信息进行一些常规的操作。   当程序完成一系列操作后要将该文件路径输出到一个文件中,以方便其他C程序的调用,可是现在问题就出现了!因为上述路径输出到文件中的形式为C:\aa\a.txt是经过转义的路径信息,而我所需要的是在文件中输出C:\\aa\\a.txt,这样输出的目的是因为C程序中能正确的识别这个路径文件,请问大家除的在输出时进行正则替换或字符串替换(即将路径中的\替换成\\)外,还有没有其它什么方便快捷的方法,即不影响前面C#程序中正常调用路径,又能在输出时将路径以附带转义字符的形式输出即(C:\\aa\\a.txt)!

解决方案 »

  1.   

    你是杞人忧天!
    你没有理解到转义字符的含义
    程序中的C:\\aa\\a.txt本来就表达的是c:\a\a.txt这个路径
    而如果文本文件中记录的就是C:\\aa\\a.txt,读到程序中就成了c:\\\\aa\\\\a.txt
    C/C#都是一样的,根本不存在任何问题。
    你不需要做什么工作,本来就没有问题,不要杞人忧天。
      

  2.   

    Thx wuyi8808!
        
        问题是OpenFileDialog获得的路径信息是C:\aa\a.txt,当然我们在程序中进行一下常规替换也可以,但是程序一样也提供了用户直接输入路径的功能,如果用(/)的话觉的和OpenFileDialog获取的路径有点不统一,这样程序操作起来可能要进行一些多余的判断!不知道还有没有什么好的方法!
      

  3.   

    ls好像把问题看反了吧,他好像意思是想把c:\a\a.txt变成C:\\aa\\a.txt,你好像刚好弄反了
      

  4.   

    TO CsToD  如果我们在文件中写入C:\aa\a.txt,C语言中读取出来就是C:\aa\a.txt再进行一下fopen操作,C:\aa\a.txt还是不能读取出来。而不是像你所以说会自动转义!
      

  5.   

    谁告诉你的?
    你自己搞清楚
     如果我们在文件中写入C:\aa\a.txt,C语言中读取出来就是C:\aa\a.txt再进行一下fopen操作
    就这样,无需转换,不会出现任何问题。
      

  6.   

    我认为 CsToD 是正确的。
      

  7.   

    To CsToD,wuyi8808   我按你们说的写了一个很粗的C语言程序由于长时间没有用C,基本上C文件操作都忘差不多了,但按你们的说法试了一下,发现的确打不开文件程序源代码如下: #include "stdafx.h"
    #include <stdio.h>
    int _tmain(int argc, _TCHAR* argv[])
    {
    FILE *fp;
    char strbuf[1024]; fp = fopen("E:\\a\\a.txt","r");//可以打开文件并且可以读出数据        // fp = fopen("E:\a\a.txt","r");  不可以打开文件并且可以读出数据
          
            // fp = fopen("E:/a/a.txt","r");  可以打开文件并且可以读出数据 fgets(strbuf,1024,fp);        fclose(fp) return 0;
    }
      

  8.   


    不好意思,帖子提交的急,上述代码有点问题,下面注释应该才是对的。 #include "stdafx.h"
    #include <stdio.h>
    int _tmain(int argc, _TCHAR* argv[])
    {
    FILE *fp;
    char strbuf[1024];fp = fopen("E:\\a\\a.txt","r");//可以打开文件并且可以读出数据        // fp = fopen("E:\a\a.txt","r");  不可以打开文件并且不可以读出数据
         
            // fp = fopen("E:/a/a.txt","r");  可以打开文件并且可以读出数据fgets(strbuf,1024,fp);        fclose(fp)return 0;
      

  9.   

    To CsToD,wuyi8808    谢谢你们!我试了一下发现如果把路径信息放在文件中用C来读的话,的确不会有问题,如果直接写成一个String变量中则会出现问题!