目前,当我使用程序打开文件时,我可以通过单击 NSOpenPanel 侧边栏中的服务器名称,然后选择文件来选择服务器上的文件。没问题,只要安装了共享目录,就可以很好地使用该文件。我得到类似“/Volumes/SHARENAME/filename.bla”的路径。
我的问题是如何获取它来自的计算机的服务器主机名。例如,如果我在 NSOpenPanel 中的“Shared”下单击名称为 SERVERNAME 的设备,如何从“/Volumes/SHARENAME/filename.bla”获取 SERVERNAME。
我查阅了相当多的文档,但无法找到解决此问题的方法。
对此的任何帮助将不胜感激。谢谢。
最佳答案
这不是 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;
}
关于cocoa - 如何使用 cocoa/obj-c 从挂载目录获取服务器主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2580253/