基本的にWebページにアクセスし、ユーザーが定義する別のファイルにコンテンツをダウンロードするHTTPクライアントを作成中です。ファイルへの書き込み自体に問題はありませんが、奇妙な問題が発生しています。以下にいくつかのコード スニペットを示しますが、基本的には
fprintf(stdout, "%s", htmlcontent);
ここで、htmlcontent は次のように定義されます
char *htmlcontent;
HTML ページ情報全体を標準出力に出力します。コマンド ラインで >myfile.txt と指定して、この出力をファイルにリダイレクトすることもできます (はい、html ファイルではなくテキスト ファイルを比較します)。
しかし、私がこのようなことをすると:
fprintf(savedfile, "%s", htmlcontent);
ここで、savedfile は次のように定義されます
FILE *savedfile;
次のように開きます。
savedfile = fopen(filename, "w");
ここで、ファイル名は次のように定義されます
char *filename;
それに対応するコマンドライン引数と等しく設定されます。標準出力ではなくファイルに出力するために 2 番目のタイプの fprintf を実行すると、同じ結果が得られず、その理由がわかりません。なぜ違いがあるのか を理解するのを手伝ってくれる人はいますか?2 つの異なるプログラムを投稿して全体を確認できるようにしたい場合は、私に知らせてください。