C++;OSX打开默认浏览器 我想知道一种方法,可以从C++应用程序打开OS X上的默认浏览器,然后打开一个请求的URL。

C++;OSX打开默认浏览器 我想知道一种方法,可以从C++应用程序打开OS X上的默认浏览器,然后打开一个请求的URL。,c++,macos,url,browser,C++,Macos,Url,Browser,编辑:我是这样解决的: system("open http://www.apple.com"); 如果您更喜欢使用本机OS X API而不是系统(“打开…”),请查看文档以了解。。 您可以使用以下代码: #include <string> #include <CoreFoundation/CFBundle.h> #include <ApplicationServices/ApplicationServices.h> using namespace std;

编辑:我是这样解决的:

system("open http://www.apple.com");

如果您更喜欢使用本机OS X API而不是
系统(“打开…”),请查看文档以了解。

您可以使用以下代码:

#include <string>
#include <CoreFoundation/CFBundle.h>
#include <ApplicationServices/ApplicationServices.h>

using namespace std;

void openURL(const string &url_str) {
  CFURLRef url = CFURLCreateWithBytes (
      NULL,                        // allocator
      (UInt8*)url_str.c_str(),     // URLBytes
      url_str.length(),            // length
      kCFStringEncodingASCII,      // encoding
      NULL                         // baseURL
    );
  LSOpenCFURLRef(url,0);
  CFRelease(url);
}

int main() {
  string str("http://www.example.com");
  openURL(str);
}
g++ file.cpp -framework CoreFoundation -framework ApplicationServices