我正在维护一个用C#编写的程序,但它使用VBNET.Filesystem I-O来读写文件。我添加了一个功能来写出路径名,但路径名的文本正在被修改。 。 。
VBNET.FileSystem.FileOpen(ff, path, VBNET.OpenMode.Output,
VBNET.OpenAccess.Default,
VBNET.OpenShare.Default, -1);
sTemp = "CONFIGFILE_PATH ";
sTemp = sTemp + _ConfigFilePath;
VBNET.FileSystem.Print(ff, sTemp);
VBNET.FileSystem.PrintLine(ff);
sTemp是一个String类对象。在写入时它包含
CONFIGFILE_PATH C:\\ Config \\ DemoArticles \\ 00BigTriangle.txt
...但是文件中写的内容是
CONFIGFILE_PATH C:\ Config \ DemoArticles \ 00BiggerTriangle.TXT
( BTW ,我在StackOverflow编辑器中遇到了类似的问题,所以如果这篇帖子有依赖于浏览器的渲染问题,第一行包含双反斜杠,第二行包含单个反斜杠反斜杠)
如何防止这种情况?如果答案是我需要在写入之前将双反斜杠转换为三个反斜杠,那么使用C#String类是否有一种简单的方法可以做到这一点?
答案 0 :(得分:1)
如果您在字符串前加上@,则将忽略所有控制字符。
"C:\\Config\\DemoArticles\\00BigTriangle.txt"
将成为
C:\配置\ DemoArticles \ 00BiggerTriangle.txt
虽然
@"C:\\Config\\DemoArticles\\00BigTriangle.txt"
在你输入时会留下来:
C:\\配置\\ DemoArticles \\ 00BigTriangle.txt
你应该从你的C#项目中踢出VB.NET。那太可怕了。