Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Как читать до конца?

1 view
Skip to first unread message

A. Skrobov

unread,
Sep 20, 2005, 1:58:58 PM9/20/05
to
Hi All,

Есть ли универсальный способ вычитать stdin до конца?

Как я понял, для трёх возможных случаев нужны три разных подхода:
* если stdin - это консоль, то ждать 0x1A и игнорировать всё за ним;
* если stdin - это файл, то ждать, пока ReadFile не вернёт TRUE для
прочитанных 0 байт;
* если stdin - это труба, то ждать ошибки ERROR_BROKEN_PIPE.

Все три случая реализуются (proga.exe; proga.exe <file; type file| proga.exe)
- кстати, нет ли ещё случаев?

Проверено, что банальный (второй) метод работает исключительно криво и для
консоли, и для труб.

0 new messages