关于c#中的"\\"
我调用一个c写的dll,里面有一个参数要我传送文件的绝对位置.我传送 "c:\\abc.txt "这种类似的文件,都报错说是文件路径不对.而用vb6.0传 "c:\abc.txt "就没有问题.但是我的项目是在c#中完成的,请教诸位如何解决这个问题呢?
------解决方案--------------------\是转义符,\\表示\这个字符
------解决方案--------------------@ "c:\abc.txt "
------解决方案--------------------可以写成 @ "c:\abc.txt "
------解决方案--------------------是不是只传文件的绝对路径?
试传@ "C:\ "
------解决方案--------------------如果,\\出现在源代码中,实际生成的字符串就是,c:\abc.txt
如果实际字符串c:\\abc.txt,就不对了~
------解决方案--------------------up
------解决方案--------------------@ "c:\abc.txt "
喜欢这个.
------解决方案--------------------唉!来晚了,都被说了,一般用
@ "c:\abc.txt "
这个一般就不会出错
------解决方案--------------------转义
------解决方案--------------------用@转义一般都是因为用到路径
string str = @ "c:\aa\123.txt ";
显然比
string str = "c:\\aa\\123.txt ";
可读性好
------解决方案--------------------注意\\是在编译的时候转义,在运行时字符串中作为参数传递这个字符串中还是一个\。
------解决方案--------------------2种方法可以解决
一种是在每个\ 前加一个\
在C#里是不能识别 \的 必须加多加一\作为转义符
另一种方法 在你的 字符串前 加一个@符号 如 string str=@ "c:\aa\123.txt ";
------解决方案--------------------撒也不说了....有分就接....
------解决方案--------------------设断点调一下,我想问题不应该是在这~~
------解决方案--------------------用@ "c:\abc.txt "
------解决方案--------------------有没有c:\x.JPG和c:\xh.JPG文件
------解决方案--------------------加这个@
------解决方案--------------------也就是说,c#中无论是传@ "c:\abc.txt " 还是 "c\\abc.txt "都和vb.net中的 "c:\abc.txt "有不一样的地方.
=============================
牛人呐!!!!!
又一个微软重大BUG被你发现了。。。