2012-03-22 2 views
1

У меня есть простое меню, что-то вроде следующего:как обрабатывать перенаправление ввода

while(cmd != quit){ 
    cin >> cmd; 
    swith(cmd){ 
     case 'a': 
      blah(); 
      break; 
     case 'b': 
      boo(); 
      break; 
    } 
} 

что бы я должен делать Симметричным, чтобы убедиться, что он обрабатывает не только вход с консоли, но и файл перенаправления в UNIX/Linux?

спасибо!

+0

Нет ничего общего. :-) –

+0

Ничего * более *, чтобы сделать. Что вы уже работаете с перенаправлением файлов. –

ответ

5

ли вы имеете в виду, как переназначение в:

echo 'a' | ./your_program 

В этом случае вам не нужно делать ничего особенного. Оболочка уже направляет ваш вход в stdin вашей программы.

+0

ERM, ну, не совсем. Понимаете, есть проблема с escape-последовательностями ... Не уверен, что поток ввода-вывода C++ очистил его, но это может быть беспорядок в чистом C ... –

0

В C и C++ имеется ряд функций fflush. Думайте, что это может быть полезно, когда есть некоторые проблемы с потоками.