如何解决使用 C++ 读取远程 Linux 类型服务器上的文件
我正在使用 Raspian 和 samba 文件共享构建一个小型 Raspberry Pi 网络。我希望每个人都能够向其他人读/写小文本文件,以提供一种非常简单的流程协调方法。我正在使用一个带有单个共享文件的 Pi 测试该方法,并且可以使用其桌面文件管理器从 Ubuntu 笔记本电脑读取/写入它。我正在尝试以编程方式执行相同的操作:
#include<string>
#include<iostream>
#include<fstream>
using namespace std;
void read_file () {
string line;
ifstream myfile;
myfile.open("\\\\192.168.1.78\\home\\pi\\new2.txt");
if (myfile.is_open()){
cout << "file is open" << endl;
getline(myfile,line);
cout<< line << endl;
} else {
perror("Error");
}
myfile.close();
}
int main(){
read_file();
}
错误消息是“没有这样的文件或目录”。我猜这是我没有见过的权限问题(远程文件共享为 777)或者我引用服务器和文件夹的方式。我尝试了很多组合都无济于事。
有什么建议吗?
解决方法
像这样使用反斜杠路径在 Ubuntu 系统上不起作用。这在您的文件管理器中有效的事实可能是因为文件管理器很智能并且为您透明地处理挂载和路径转换。
您需要做的是自己挂载共享文件夹,这样您就可以使用常规的 Linux 文件路径来打开它。请参阅有关如何使用 Samba 挂载 SMB 共享的问题:https://unix.stackexchange.com/questions/99065/how-to-mount-a-windows-samba-windows-share-under-linux
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。