我正在VisualStudio 10中创建一个小的WPF程序,它用matlab绘制一个图表,然后将这个图保存到目录中的一个文件中。
在C#中,我首先使用
path = System.IO.Directory.GetCurrentDirectory();
然后我用MLApp包把它发送给Matlab,让matlab保存在正确的目录中。
matlabExe.Execute("cd“+ path + ";");其中matlabExe是MLApp.MLApp。
但是,由于C#有一种使用双反斜杠(\)保存路径的奇特方法,所以matlab无法识别路径!所以,我想很容易,就这么做
( path.Replace(System.IO.Path.DirectorySeparatorChar,System.IO.Path.AltDirectorySeparatorChar);但够悲哀的是,那没有做好这份工作!在向路径添加手表时,我发现在执行此替换操作后没有发生任何变化。
我还试图通过以下操作取代双分配器的“手册”
path.Replace("\",“/”)
但也没有运气..。我怎样才能完成这件事?
谢谢你的帮忙!
发布于 2012-07-06 14:40:47
C#使用double作为逃逸序列
如果您查看调试窗口中的字符串,它将如下所示
"C:\\Program Files\\MatLab\\MatLab.exe"但是,当程序实际使用该字符串时,它将如下所示
"C:\Program Files\MatLab\MatLab.exe"所以你需要做任何path.replace,它会自己处理它,这就是为什么你对它有问题。如果你想确保试试这个
string path = "C:\Program Files\MatLab\MatLab.exe";
int count = path.Count(s => s == '\');计数将为3,即使在调试窗口中它将显示6。
如果matlab不识别路径还有另一个原因
如果您想要显示您想要创建的确切路径以及C#正在吐出的确切路径,那么我可以帮助您。
有关更多信息,请参见MSDN上的转义序列
https://stackoverflow.com/questions/11363996
复制相似问题