Я пытаюсь создать канал между оболочкой командной строки и моим приложением.
Это мой код: http://pastebin.com/uupd4aXi
То, что я пытаюсь сделать, этонапишите "whoami" в stdin и получите эквивалент, эквивалентный этой команде.Если я закомментирую функцию writeinput, readoutput успешно напечатает стандартную распечатку cmd.Однако, если я этого не сделаю, writeinput застревает в бесконечном цикле по адресу:
for (;;)
{
bSuccess = WriteFile(hSTD_IN_WRITE, chBuf, sizeof(chBuf), &dwWritten, NULL);
if ( ! bSuccess ) break;
}
Если я удаляю оператор if и вручную вызываю разрыв в цикле, я все еще получаю только сообщение распечатки cmd, ноне ответ на мою команду "whoami".
Что я делаю не так?