@Bergis

Как скачать файл по ссылке с помощью curl?

Подскажите как можно реализовать загрузку файла по ссылке через curl в с++ 17 ?
я пытаюсь использовать данный код:
size_t write_data(void* ptr, size_t size, size_t nmemb, FILE* stream) {
    size_t written;
    written = fwrite(ptr, size, nmemb, stream);
    return written;
}

int download() {
    CURL* curl;
    FILE* fp;
    string url = "Ссылка";
    char outfilename[FILENAME_MAX] = "./Название файла";
    curl = curl_easy_init();
    if (curl) {
        fp = fopen(outfilename, "wb");
        curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
        curl_easy_perform(curl);
        curl_easy_cleanup(curl);
        fclose(fp);
    }
    return 0;
}

Он возвращает ошибки :
1>C:\Users\Mike\Desktop\install\install\install.cpp(48,1): error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(208): message : см. объявление "fopen"
1>C:\Users\Mike\Desktop\install\install\install.cpp(76,26): warning C4244: =: преобразование "std::streamoff" в "int", возможна потеря данных
1>Сборка проекта "install.vcxproj" завершена с ошибкой.

Подскажите как можно пофиксить данные ошибки ?
  • Вопрос задан
  • 342 просмотра
Пригласить эксперта
Ответы на вопрос 1
#define _CRT_SECURE_NO_WARNINGS
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы