Повысьте процесс создания файла, где имя файла - это данные stdout, если я запускаю дочерний процесс с помощью stdin - PullRequest
0 голосов
/ 21 апреля 2020
 int result;
 string input = "Hello world!";
 cin>>input;
    future <vector <char> > dataOut;
    future <vector <char> > dataErr;
    result = bp::system(args, bp::std_in < input, bp::std_out > dataOut, bp::std_err > dataErr, boost::process::windows::hide);
    bool status = false;
    if (result == ERROR_SUCCESS) {
        status = true;
    }

    auto out = dataOut.get();
    auto err = dataErr.get();

когда input = "Hello world!" моя простая программа, которую я запускаю

string s;
cin>>s;
cout<<s<<endl;

, создает пустой файл с именем "Hello world!" и пусто Но если я запускаю программу

cout<<"Hello world!"<<endl;

, которая работает хорошо и out.get () == "Привет, мир!"

Я понятия не имею, что за странное поведение. ОС - Windows.

...