Список установленных программ с использованием C / C ++ [закрыто]

Мне нужно выполнить небольшую программу аудита, написанную на C / C ++, в которой перечислены программы / приложения, установленные на машинах под управлением Ubuntu, сначала я мог выполнить задачу, используя "system (" dpkg -l> / tmp / appslist ") system (" nano / tmp / applist "), но чиновник сказал, что не может использовать" систему "и должен ли я использовать ваш собственный C / C ++, но сгенерируйте этот список установленных программ / приложений.

Кто-нибудь знает, как я могу сделать списки этих программ без использования "системы"?

Спасибо!

2
задан 19 November 2015 в 11:58

1 ответ

Я повторяю, что думаю, что это не связанный с человечностью вопрос, но здесь является моим ответом, базирующимся в ссылка popen , я отправил Вас

#include <iostream>
#include <stdio.h>

using namespace std;

int main() {
    FILE *in;
    char buff[512];

    if(!(in = popen("dpkg -l > ~/appslist", "r"))){
        return 1;
    }
    pclose(in);

    if(!(in = popen("cat ~/appslist", "r"))){
        return 1;
    }

    while(fgets(buff, sizeof(buff), in)!=NULL){
        cout << buff;
    }
    pclose(in);

    return 0;
}

(я использовал путь ~/appslist, чтобы иметь разрешение как обычный пользователь)

1
ответ дан 2 December 2019 в 05:00

Другие вопросы по тегам:

Похожие вопросы: