gpt4 book ai didi

c - 如何从 C 程序和 Ubuntu 操作系统读取远程设备的文件?

转载 作者:行者123 更新时间:2023-11-30 19:42:45 34 4
gpt4 key购买 nike

我正在尝试读取位于远程设备上的文件,它具有 Debian 操作系统。我的 C 程序在 Ubuntu 上使用 Eclipse 运行。这两个设备通过 USB 电缆连接。我可以从控制台使用 ssh 访问远程设备,例如 ssh root@192.168.7.2 。现在我想从我的 C 程序访问远程设备根目录下的文件。我尝试过 FILE *ptr = popen("ssh root@192.168.170.155:/1.jpg", "r"); 。这不起作用。访问文件以便我可以从 C 程序读取文件的正确方法是什么?或者有什么更好的方法吗?谢谢

最佳答案

恐怕事情没那么简单。 unix filepipe API 用于处理本地文件 - 即。运行的操作系统实例可以访问的文件。为了读取远程计算机上的文件(可通过 ssh 访问),涉及的内容要多得多。通常 - 选择是

  1. 运行 NFS - 其中远程计算机是 NFS 服务器,您的计算机作为 NFS 客户端,然后您可以执行正常操作,打开读取写入 在您的本地计算机上。
  2. 其他选项是以编程方式实现 ssh 或其他协议(protocol)的功能。参与程度稍高一些。所以该选项不可用。

根据您想要对文件执行的操作,可能有第三个选项 - 在您的 C 程序中的 system 函数中运行 scp,然后复制在本地归档并对该文件执行任何您想要执行的操作。

这些是大致的选择。如果您可以明确告诉 - '您想如何处理文件数据',可能还有其他可用选项。

关于c - 如何从 C 程序和 Ubuntu 操作系统读取远程设备的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31016873/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com