Как запустить .ехе файл из C++? Знаю о существовании StartProcess
, но не могу понять как добавить параметры командной строки.
Например, мне нужно запустить tesseract.exe
с параметрами:
img1.jpg out -l rus --oem 2
Простое решение - использовать функцию system, в вашем случае:
system("tesseract.exe img1.jpg out -l rus --oem 2");
Кроссплатформенное решение - Boost.Process
Позволяет:
Пример:
#include <boost/process.hpp>
using namespace boost::process;
int main()
{
ipstream pipe_stream;
child c("gcc --version", std_out > pipe_stream);
std::string line;
while (pipe_stream && std::getline(pipe_stream, line) && !line.empty())
std::cerr << line << std::endl;
c.wait();
}
Не хотите воспользоваться _spawnl
?
В вашем случае -
#include <process.h>
....
intptr_t rc = _spawnl(P_WAIT,"tesseract.exe","tesseract.exe",
"img1.jpg","out","-l","rus","--oem","2",NULL);
В отличие от system
вернет информацию о выполнении.
Как вариант можно указать "\"tesseract\" img1.jpg out -l rus --oem 2" в качестве запускаемого приложения. Такой вариант тоже может сработать, хотя у CreateProcess'a есть нужные аргументы для передачи параметров запуска.
Я делаю так:
system("start tesseract.exe img1.jpg out -l rus --oem 2");
Но контроля над созданным процессом нет.
Виртуальный выделенный сервер (VDS) становится отличным выбором
С++Ребят подскажите как решать это,не могу найти решение\алгоритм\мат