C++如何访问SMB NAS文件



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

在Windows上,这很容易。您只需使用:

ifstream infile("\\SERVERFOLDERfile.txt", ifstream::binary);`

在Linux上,这不起作用!

您需要装载它,然后可以以相同的方式访问它。快速查看:

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

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

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

如果装载共享,则所有文件pm都可以作为本地文件使用(路径分隔符为/而不是\)。不过,有关装载SMB共享的帮助在此处不属于主题。尝试http://superuser.stackexchange.com.

使用图书馆是个话题。您可以使用libsmbclient,它是Samba发行版的一部分。它很容易使用,因为它类似于stdio.h API。如果您的共享需要,您将需要向libsmbclient提供用户的Windows凭据。您需要安全地请求密码,或者使用Kerberos身份验证,这是一个单独的大主题。

最新更新