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