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

来自牛奶河Wiki
跳到导航 跳到搜索

使用 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;
}