Скажем, что я выполняю некоторую команду для запуска в терминале в программе C++. Например:
int main(){
std::system("./myprog");
return 0;
}
Предположим, что myprog создает некоторый вывод, который печатается на консоли. Могу ли я использовать этот вывод в моей программе C++? Например:
int main(){
some_var = std::system("./myprog");
if (some_var == "something")
// Do something.
return 0;
}
Любая помощь будет очень высоко ценится. Еще раз спасибо.
Вам нужно использовать функцию popen
:
FILE *fp = popen("./myprog", "r");
char buffer[128];
while (fgets(buffer, sizeof(buffer), fp))
{
std::cout << "Output from program: " << buffer << '\n';
}
pclose(fp);
fgets
руководстваfgets
).