gpt4 book ai didi

c++ - 用C++打开目录中的HTML文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:06 25 4
gpt4 key购买 nike

我想在 Ubuntu 中使用 C++ 代码打开名为“myHTML.html”的 HTML 文件。该文件与我的 C++ 源文件位于同一目录中。

请问我该怎么做?

最佳答案

首先,您可以启动一个运行网络浏览器的进程(在后台),例如

 char cmd[256];
char mypwd[200];
memset (mypwd, 0, sizeof(mypwd));
if (!getcwd(mypwd, sizeof(mypwd)))
{ perror("getcwd"); exit (EXIT_FAILURE); };
snprintf (cmd, sizeof(cmd),
"/usr/bin/x-www-browser 'file://%s/myHTML.html' &", mypwd);
int notok = system(cmd);

当然,如果当前目录有一个奇怪的名字(例如包含引号,这是不常见的),你可能会得到一些 code injection .但这不太可能。您可以将 mypwd 替换为 "/proc/self/cwd"

如果您要打开的 HTML 文件是内置的,例如 /etc/yourapp/myHTML.html(或其他一些不错的固定文件路径,没有顽皮的字符)你可以使用

int notok = system("/usr/bin/x-www-browser /etc/yourapp/myHTML.html &");

int notok = system("xdg-open  /etc/yourapp/myHTML.html &");

pid_t pid = fork();
if (pid == 0) {
// child process
execlp("xdg-open", "/etc/yourapp/myHTML.html", NULL);
_exit(127);
};

(您可能希望稍后为您的 pid waitpid)

更好的是,您可以使您的 C++ 应用程序成为 HTTP服务器,例如与 Wtlibonion

关于c++ - 用C++打开目录中的HTML文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21799373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com