リダイレクトとパイプ
夏休み明け1週目にしてテスト前。ということで、説明の内容の濃い講義である。
バッファリング
夏休み前の復習も兼ねて、英字の大文字化のプログラムを示し、 getchar() , putchar() の復習。このプログラムを動かした時に、 "This is a pen." と入力しても、"TThHiIsS iIsS aA pPeEnN"と表示されない理由を説明する。
int c ; while( (c = getchar()) != EOF ) { if ( 'a' <= c && c <= 'z' ) c = c - 'a' + 'A' ; putchar( c ) ; }
リダイレクト、標準入力・標準出力
前記の大文字化のプログラムを使って、リダイレクトの説明。
Linuxでやりてぇよぉ…
C:\> FONT COLOR blue (普通の実行)
FONT COLOR red This is a pen.
THIS IS A PEN.
C:\> out.txt FONT COLOR blue (出力リダイレクト)
FONT COLOR red This is a pen.
C:\> FONT COLOR red type out.txt
THIS IS A PEN.
C:\> FONT COLOR red echo "This is a pen." > in.txt
C:\> FONT COLOR blue (入力リダイレクト)
THIS IS A PEN.
パイプと標準エラー出力
リダイレクトでは、複数の処理を実行するときに、いちいち中間ファイル指定しないといけない。
C:\> FONT COLOR red echo "This is a pen." | upper.exe
THIS IS A PEN.