C ++如何访问SMB NAS文件?

时间:2014-09-18 14:47:31

标签: c++ linux

如何在Linux机器上使用c ++通过NAS(SMB)访问文件?

在Windows上,它非常简单。你只需使用:

ifstream infile("\\\\SERVER\FOLDER\file.txt", ifstream::binary);`

在Linux上,这不起作用!

2 个答案:

答案 0 :(得分:2)

您需要安装它,然后您可以像访问它一样访问它。快速浏览一下:

http://www.linuxnix.com/2009/09/8-ways-to-mount-smbfs-samba-file-system-in-linux.html

一旦安装,它就可以在你安装它的任何路径上使用。

答案 1 :(得分:1)

您可以安装共享,也可以使用SMB客户端库。

如果您安装共享,则所有文件都可以作为本地文件使用(并且路径分隔符将是/而不是\)。但是,有关安装SMB共享的帮助不在此处。试试http://superuser.stackexchange.com

使用库是主题。您可以使用libsmbclient,它是Samba分发的一部分。它很容易使用,因为它类似于stdio.h API。如果您的共享需要,您将需要向libsmbclient提供用户的Windows凭据。您需要安全地询问密码,或使用Kerberos身份验证,这是一个独立的重要主题。