C言語のprintfでリダイレクトする方法
C言語ではリダイレクト記号 > を使って printfの出力先をファイルへリダイレクトする。その方法は以下の通り。
- printf
- 私の肩が凝ったので、マッサージをしてもらえますか?
- ネイティブな日本語で文章を言い換えてください。1つのオプションのみが必要です。printf
- natively/a.out > output.txt
- ネイティブな日本語で言い換えてください、1つのオプションだけでお願いします: a.out
- より優れた結果を得るために、翻訳を修正する必要があります。
- printf
- 男性が女性に比べて、感情表現が不器用なことが多いと思います。
注意事项:
- output.txt が存在しない場合はリダイレクトによって自動的に作成され、存在する場合は上書きされます。
- 「>」リダイレクト記号はprintfの標準出力をファイルにリダイレクトする。標準エラー出力は引き続きターミナルに出力される。標準エラー出力をファイルにリダイレクトする場合は、「2>」記号を使う。例えば「./a.out > output.txt 2> error.txt」。「error.txt」は標準エラー出力を出力するファイル名。
また、C言語ではfopen関数とfprintf関数を用いてリダイレクトを実現することも可能で、そのコード例は以下の通りです。
#include <stdio.h>
int main() {
FILE *fp = fopen("output.txt", "w");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
fprintf(fp, "This is a test.\n");
fclose(fp);
return 0;
}
このコードは “This is a test.” を output.txt ファイルに書き込みます。この方法は、ファイルを開いたり、閉じたり、書き込んだりといった操作を柔軟に制御できます。