目前,当我使用我的程序打开文件时,我可以通过单击NSOpenPanel侧栏中的服务器名称然后选择文件来选择服务器上的文件。没问题,只要挂载共享目录,这适用于使用该文件。我得到一个像“/Volumes/SHARENAME/filename.bla”这样的路径。
我的问题是如何获取它来自的计算机的服务器主机名。例如,如果我在NSOpenPanel中的“Shared”下点击名称为SERVERNAME的设备,我如何从“/Volumes/SHARENAME/filename.bla”获取SERVERNAME。
我查看过相当多的文档,但无法找到解决此问题的方法。
对此的任何帮助将不胜感激。谢谢。
答案 0 :(得分: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;
}