Вызов программы на C ++ из функции? - PullRequest
1 голос
/ 07 октября 2019

Итак, я довольно новичок в C ++ и программировании в целом, и я пытаюсь выяснить, как я могу использовать код из этой github-программы в моей собственной программе. Как мне написать функцию, которая вызывает программу и возвращает результаты?

Ответы [ 2 ]

2 голосов
/ 07 октября 2019

Здесь является ссылкой на std::system. При этом вы можете запустить любую команду в системе POSIX.

#include <cstdlib>
#include <fstream>
#include <iostream>

int main()
{
    std::system("ls -l >test.txt"); // execute the UNIX command "ls -l >test.txt"
    std::cout << std::ifstream("test.txt").rdbuf();
}

Если вам нужна другая платформа (например, Windows), взгляните на boost boost .

0 голосов
/ 07 октября 2019

Это делается с помощью запроса системы на создание нового процесса, поэтому ваше решение будет зависеть от системы, в которой вы находитесь.

Вы можете напрямую использовать системные интерфейсы для создания процесса или использовать кросс-платформа сторонней оболочки, такой как Qt или boost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...