2010-11-13 2 views
0

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

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

  1. Скачать update.xml с веб-сервера
  2. Проверить версию обновления с помощью fscanf и хранения с плавающей запятой в переменной
  3. Проверка переменной с, если заявление, если версия больше чем выпуска версии определены в приложении
  4. Скачать обновление, если верно
  5. Дисплей до даты, если ложные

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

+2

Нет, невозможно. C может делать все, кроме отображения в актуальном состоянии, если false. –

+0

Я просто собирался использовать простой printf («До сегодняшнего дня»); – Kyle

+0

Николай был саркастичным. – Clifford

ответ

4

Curl (Libcurl) будет простой вариант:
Download file using libcurl in C/C++
Downloading all files in directory using libcurl
http://curl.haxx.se/

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

+0

Это именно то, что я ищу спасибо :) – Kyle

1

Не с ANSI C, но для Win посмотреть на:

#include <Urlmon.h> 
HRESULT URLDownloadToFile(); 
+0

Скорее «не в стандартной библиотеке ISO C». Использование сторонней библиотеки не делает код несоответствующим стандарту языка. – Clifford

1

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

Я настоятельно рекомендую, однако, чтобы вы не сделали нам значение с плавающей запятой для представления номера версии и просто сравните строку версии. Это позволяет избежать ошибок и ошибок преобразования fp и позволяет использовать гибкое форматирование номера версии, например «1.0.1» или «1.0a» или что-то еще.

Смежные вопросы