1

目前,当我用我的程序打开文件时,我可以通过单击 NSOpenPanel 侧栏中的服务器名称然后选择文件来选择服务器上的文件。没问题,只要挂载了共享目录,就可以正常使用该文件。我得到一个类似“/Volumes/SHARENAME/filename.bla”的路径。

我的问题是如何获取它来自的计算机的服务器主机名。例如,如果我在 NSOpenPanel 的“共享”下单击名为 SERVERNAME 的设备,我如何从“/Volumes/SHARENAME/filename.bla”获取 SERVERNAME。

我查看了很多文档,但无法找到解决此问题的方法。

对此的任何帮助将不胜感激。谢谢你。

4

1 回答 1

0

这不是 Objective-C 执行此操作的方式,但有时使用popen(..)可以让您获取可以从 unix 命令解析的信息。

例子

#include <stdio.h>
#include <string.h>

int main() {
  FILE *fp = popen("df", "r"); // see man page for df
  if (fp) {
    char line[4096];
    while (line == fgets(line, 4096, fp)) {
      if (strstr(line, "/Volumes/SHARENAME")) { // You need the mount point
        char host[256];
        sscanf(line, "%s", host);
        printf("Connected: %s\n", host);
      }
    }
    pclose(fp);
  }
  return 0;
}
于 2010-04-05T18:52:39.577 回答