判断 Linux 应用程序是否安装 - C++

来自牛奶河Wiki
阿奔讨论 | 贡献2024年10月6日 (日) 19:46的版本 (创建页面,内容为“使用 popen 执行 which 命令。 <small><nowiki>#include <iostream> bool is_inst(const string& package_name) { string cmd = "which " + package_name; FILE* pipe = popen(cmd.c_str(), "r"); if (!pipe) { return false; } char buffer[128]; while (fgets(buffer, sizeof(buffer), pipe) != nullptr) { pclose(pipe); return true; } pclose(pipe); return false; }</nowiki></small> 分类:Develop 分类:C++”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

使用 popen 执行 which 命令。

#include <iostream>

bool is_inst(const string& package_name) {
    string cmd = "which " + package_name;
    FILE* pipe = popen(cmd.c_str(), "r");
    if (!pipe) {
        return false;
    }
    char buffer[128];
    while (fgets(buffer, sizeof(buffer), pipe) != nullptr) {
        pclose(pipe);
        return true;
    }
    pclose(pipe);
    return false;
}