2

つまり、データはすでに別のプログラムによって提供されているか、ユーザーが手動で入力する必要があります。私はこれらの2つの状態を意味します:

dir /b /s *.* | myprogram

myprogram

2番目のケースでは、プログラムはユーザー入力を待機します。それを防ぐ方法はありますか?

4

2 に答える 2

6

POSIXにはがisatty()ありますが、Visual C ++にはが_isatty()あります。ファイル記述子が端末またはコマンドラインである場合、どちらもtrueを返しますisatty(fileno(stdin))

于 2012-05-13T20:18:53.250 に答える
3

はい。を使用GetStdHandleしてを取得し、ハンドルを呼び出して、最初のケースまたは 2番目のケースSTD_INPUT_HANDLEのタイプのハンドルであることを確認します。FILE_TYPE_PIPEFILE_TYPE_CHARGetFileType

于 2012-05-13T20:08:32.847 に答える