ホーム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!

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.

リダイレクション・パイプ