よく知ってるはずの printf は、標準出力。 このプログラム hello1.cpp
を作成し、コンパイルする。 エラーが発生しなくて、うまくいけば、 UNIX系のプログラミング環境下で、 実行ファイルa.outができる。/* hello1.cpp */ #include <stdio.h> int main(void) { printf("Hello!\n"); return 0; }
Hello!と表示される。
標準出力とは、 特に指定がなければ、目の前の画面となる。
出力先を、ファイルに指定すれば、標準出力 の出力先が、ファイルに切り替えることができる。
今度は、次のプログラム hello2.cpp
を作成し、コンパイルする。 エラーが発生しなくて、うまくいけば、 UNIX系のプログラミング環境下で、同様にして、 実行ファイルa.outができる。 名前は同じだが、hello1.cpp とは、別の実行ファイル。/* hello2.cpp */ #include <stdio.h> int main(void) { fprintf(stderr,"Hello!\n"); return 0; }
Hello!と表示される。 これは、標準出力と同じ結果だ。
標準エラー出力を指定しても、標準出力と同じく、 目の前の画面となる。
Hello!と表示される。 標準出力では、画面に表示されなかったので、 これは、標準出力とはまったく異なる。 新しく hello2.txt というテキストファイルができたものの、 念のために、 中身を確認すると、 hello2.txt 空っぽだ。
標準エラー出力を指定すると、 出力先を、ファイルに切り替えることができない。
標準出力 は、出力先を、目の前の画面、ファイル、プリンタ、 その他の機器、通信相手先などに切り替え可能。
標準エラー出力 と指定すると、 目の前の画面だけとなり、 切り替えできない。
リダイレクト とは、標準出力の場合のように、 出力先を簡単に切り替えができることをいう。 UNIX系OSの場合には 「>」 を使って切り替える。