【发布时间】:2021-06-27 13:35:14
【问题描述】:
我正在使用 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),要么是我引用服务器和文件夹的方式。我尝试了很多组合都无济于事。
有什么建议吗?
【问题讨论】:
-
假设您计划使用 ssh 进行连接,您需要与 ssh 库进行交互。默认情况下,C++ 在其
fstream库中不支持网络,如果您的实现(通过某种奇怪的机会)碰巧支持它,那么它将非常不可移植。 -
感谢您的反馈 - 我看到了许多使用网络路径名称对“fstream”的引用,尽管它们都使用 Windows,我不能确定它们中的任何一个是否真的有效,我猜它要么是 ssh 或套接字,要么是像 mosquitto 这样的开箱即用的东西。