4

VS 2005 操作系统

我正在编写一个将连接到 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

我在我的异常中被拒绝访问。现在我正在考虑它。我没有设置用户名和密码。我认为这是我的问题。

4

2 回答 2

13

UNC 路径应该只包含机器名称、共享名称、相对于共享点的路径(不需要包含“samba”方案)。在机器名称为 sun005 的情况下,以下两个之一应该可以工作:

"\\\\sun005\\admin_config\\test.txt"
@"\\sun005\admin_config\test.txt"
于 2010-07-21T03:00:08.257 回答
5

编译器 \\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'。

于 2010-07-21T03:03:40.827 回答