system()
у вас так не получится. Вам нужно пойти длинным и сложным путем - через fork, pipe, dup и execve.
On startup of the main program, the portable "C" locale is selected as default. A program may be made portable to all locales by calling:
setlocale(LC_ALL, "");
Как можно запустить консольное приложение из другого оконного приложения, посылать ему команды и читать его ответы?
a = A(2);
auto str = R"(Your
multiline
string)";
isatty(fileno(stdout));