现在这是我的代码。此命令将执行一个脚本,并且如果它在终端中运行,则应该在Mac上返回Safari浏览器版本。
int versionResult = system("osascript /Library/Application\\ Support/Version.scpt");
在C ++中,这将返回1或0.
如何让它在C ++中返回命令的结果?
答案 0 :(得分:3)
你不能用system
做到这一点;如果不使用像Qt
这样的跨平台框架,就没有与平台无关的方法。这看起来像Mac命令;要在类似Unix的Mac上执行此操作,您可以使用popen()
,例如
char buffer[100];
FILE * f = popen("osascript /Library/Application\\ Support/Version.scpt", "r");
fgets(buffer, 99, f);
pclose(f);
buffer
将命令的输出作为字符串。