ホームC言語Tips集インターフェース ≫ リダイレクションを利用してファイルにデータを書き込む

C言語Tips集 - リダイレクションを利用してファイルにデータを書き込む

printf 関数や putchar 関数などの標準出力 (standard output) にデータを出力する関数は,通常ディスプレイにデータを出力しますが,リダイレクション (redirection) を用いることでファイルにデータを出力することができます.

リダイレクションを利用してファイルにデータを書き込むには,コマンドラインから状況に応じて以下のコマンドを実行します.

コマンド意味
プログラム名 > ファイル名標準出力への出力をファイルに上書き
プログラム名 >> ファイル名標準出力への出力をファイルに追記
プログラム名 > 出力ファイル名 2>&1標準出力と標準エラー出力への出力をファイルに上書き
プログラム名 2> ファイル名標準エラー出力への出力をファイルに上書き

Linuxの場合は,上記のコマンドに加えて,以下のコマンドが使用できます.
(ただし,シェルによっては対応していない場合があります.)

コマンド意味
プログラム名 &> ファイル名標準出力と標準エラー出力への出力をファイルに上書き
プログラム名 >& ファイル名標準出力と標準エラー出力への出力をファイルに上書き

C言語サンプルプログラム

以下にサンプルプログラムを示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>

/* main */
int main(void) {
    char *s = "Snoopy!";

    printf("%s\n", s);

    return EXIT_SUCCESS;
}

実行例

このサンプルプログラムをコンパイルして作成された実行ファイル (a.out) と同じディレクトリに sample.txt という名前のファイルがあったとします.

以下のコマンドを実行します.

./a.out > sample.txt

sample.txtの内容は以下のようになります.

Snoopy!