2010-07-21 38 views
3

VS 2005 WinXP無法識別的轉義序列

我正在編寫一個連接到samba共享的應用程序。

然而,在我的道路,我得到一個編譯錯誤:

unrecognized escape sequence 

我使用的路徑是這樣的:

string path = "\\Samba\sun005\admin_config\test.txt"; 

我也曾嘗試以下采用雙層側隙:

string path = "\\Samba\\sun005\\admin_config\\test.txt"; 

但是,上述編譯好,但是當它運行時,它抱怨「找不到路徑」

也試過如下:

string path = @"\\Samba\sun005\admin_config\test.txt"; 

當我在調試檢查,我得到以下字符串

\\Samba\\sun005\\admin_config\\test.txt 

我可以訪問我的例外拒絕。現在我正在考慮這個問題。我沒有設置用戶名和密碼。我認爲這是我的問題。

非常感謝您的任何建議,

+2

你用最後一行(用「@」)得到了什麼錯誤?這似乎是正確的路要走。 – BoltClock 2010-07-21 02:46:06

+0

我認爲你是對的。我沒有設置用戶名和密碼。如果仍有問題,我會報告。 – ant2009 2010-07-21 02:53:59

+2

我假設你有一個名爲'Samba'的服務器和一個名爲'sun005'的共享目錄爲'admin_config'和'test.txt'文件。 ''\\\ Samba \\ sun005 \\ admin_config \\ test.txt「'可能應該工作。 – sarnold 2010-07-21 02:54:08

回答

11

UNC路徑應該只包括計算機名稱,共享名,相對於共享點的路徑(包含一個「桑巴」計劃是沒有必要的)。在機器名是sun005的情況下,或者兩個以下應工作:

"\\\\sun005\\admin_config\\test.txt" 
@"\\sun005\admin_config\test.txt" 
+0

非常感謝,幫助了我! – 2012-08-31 05:53:29

+0

@做了什麼? – Bernhard 2014-11-19 19:21:34

+0

它告訴C#編譯器將字符串解釋爲文字(即,不要將\字符用作轉義碼的注意序列) – 2014-11-19 19:52:16

4

編譯器看到\\Samba\sun005\admin_config\test.txt\Samba\sun005\x07dmin_config\x09est.txt。但它只是不理解'\ s'。

它看到\\Samba\\sun005\\admin_config\\test.txt\Samba\sun005\admin_config\test.txt編譯器很滿意,但你真的需要在開始時使用兩個斜線。爲此,您需要使用四個斜線「\\ Samba ....」

@"\\Samba\sun005\admin_config\test.txt"正是您想要的!你會在調試器中看到額外的斜槓,因爲它添加它們的調試器,所以你可以看到字符串中真正的東西。如果字符串中有換行符,它將顯示爲'\ n'。

+0

感謝您的信息。 – ant2009 2010-07-21 09:21:08

相關問題