Доброго времени суток, помогите разобраться с сабжем.
Допустим я хочу написать бестолковую программу, которая будет возвращать мне id разных программ по запросу. Например, запускаю, ввожу название необходимого мне приложения и жду ответ.
Вот что у меня получилось:
#include <iostream>
#include <string>
int main()
{
using std::cout;
using std::endl;
cout << "Start" << endl;
using std::string;
string system_ret{0};
string xyz{0};
using std::cin;
cout << "Enter query" << endl;
cin >> xyz;
cout << "you entered: " << xyz << endl;
string query{"pgrep "};
query = query + xyz;
system_ret = system(query.c_str());
cout << "pid is: " << system_ret << endl;
return int();
}
После запуска этой программы появились вопросы, может кто-то сможет мне на них ответить.
Вопрос первый, что лучше и правильнее использовать для таких задач? System, exec, popen, getenv?
Вопрос второй, этой строкой "system_ret = system(query.c_str());" я хотел запустить внешнее приложение и ответ этого приложения записать в system_ret. Но как оказалось, так оно не работает, в этой строке "cout << "pid is: " << system_ret << endl;" system_ret всегда пустой, почему так?
Спасибо за ответ!
ЗЫ: Я только начал изучать ++, так что возможно вопрос и глупый, но все таки ответа в интернете я не нашел.