Возможно ли скачивать файлы в указанный каталог? - PullRequest
0 голосов
/ 13 ноября 2010

Я пытаюсь создать загрузчик / инструмент обновления для моего приложения C.

Мой PDL для обновления:

  1. Загрузка файла update.xml с веб-сервера
  2. Проверьте версию обновления с помощью fscanf и сохраните число с плавающей точкой в ​​переменной
  3. Проверьте переменную с помощью оператора if, если версия больше версии выпуска, определенной в приложении
  4. Загрузите обновление, если true
  5. Отображать в актуальном состоянии, если false

Есть ли в C встроенные функции для этого?Возможно ли это в C?

Ответы [ 3 ]

4 голосов
/ 13 ноября 2010

cURL (libcurl) будет простым вариантом:
Загрузка файла с использованием libcurl в C / C ++
Загрузка всех файлов в каталоге с использованием libcurl
http://curl.haxx.se/

Если ваше программное обеспечение основано на Microsoft Windows, вы также можете использовать Wininet API:
http://msdn.microsoft.com/en-us/library/aa385473.aspx

1 голос
/ 13 ноября 2010

C вообще не имеет «встроенных функций», они все предоставляются библиотеками.Сеть не поддерживается в стандартной библиотеке ;вам нужна сетевая библиотека, которой много, некоторые из которых являются стандартными для конкретных операционных систем, но имеют тенденцию быть низкоуровневыми, такими как BSD Sockets или аналогичный WinSock API. не используйте значение с плавающей запятой для представления номера версии, а просто сравните строку версии.Это позволяет избежать проблем с точностью fp и конвертацией, а также позволяет гибкое форматирование номеров версий, таких как «1.0.1» или «1.0a» или что-либо другое.

1 голос
/ 13 ноября 2010

Не с ANSI C, но для Win взгляните на:

#include <Urlmon.h>
HRESULT URLDownloadToFile();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...