方法1: ライブラリを使用する方法 最も一般的な方法は、C言語のライブラリを使用してファイルをダウンロードすることです。以下に、libcurlを使った例を示します。
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
FILE *fp;
CURLcode res;
curl = curl_easy_init();
if (curl) {
fp = fopen("downloaded_file.txt", "wb");
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/file_to_download.txt");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
if (res != CURLE_OK)
fprintf(stderr, "ダウンロードエラー: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
fclose(fp);
}
return 0;
}
この例では、libcurlライブラリを使用してファイルをダウンロードしています。ダウンロードしたファイルは、"downloaded_file.txt"という名前で保存されます。
方法2: ネイティブな方法 C言語には、ネイティブな方法としてファイルダウンロードが可能です。以下に例を示します。
#include <stdio.h>
int main() {
FILE *fp;
char url[] = "http://example.com/file_to_download.txt";
char buffer[1000];
int n;
fp = fopen("downloaded_file.txt", "wb");
if (fp == NULL) {
printf("ファイルをオープンできませんでした。\n");
return 1;
}
FILE *stream = fopen(url, "r");
if (stream) {
while ((n = fread(buffer, sizeof(char), sizeof(buffer), stream)) > 0)
fwrite(buffer, sizeof(char), n, fp);
fclose(stream);
}
fclose(fp);
return 0;
}
この例では、C言語の標準ライブラリを使用してファイルをダウンロードしています。ダウンロードしたファイルは、"downloaded_file.txt"という名前で保存されます。
これらの例は、C言語でファイルをダウンロードするための一般的な手法です。他にもさまざまな方法がありますが、これらの方法を参考にして、自分のニーズに合った方法を選択してください。