Ouvir fichier txt depuis une URL

Résolu
Messages postés
17
Date d'inscription
dimanche 6 mars 2005
Statut
Membre
Dernière intervention
6 juin 2007
-
Messages postés
34
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
18 mars 2012
-
Bonjour,

Je débute en c++ et je voudrai savoir s'il est possible d'ouvrir un fichier txt depuis une URL. Je m'explique : j'aimerai creer un programme qui verifie automatiquement à chaque lancement si une nouvelle version est disponible. J'ai eu l'idée de mettre un fichier .txt à la racine de mon site internet contenant le numéro de la version la plus récente du programme. Il faudrait que je puisse récupperer ce fichier puis comparer le n° de la version du programme avec celle du fichier mais je ne sais pas comment mis prendre... (j'ai essayé sans succès avec un fopen :)

FILE = fopen("[http://[monsite]/ver.txt","r http://[monsite]/ver.txt","r]");

fscanf(fin,"%d",ver);

if (ver==2) cout << "version a jour" << endl;

else cout << "version périmée" << endl;


system("pause");


 


si quelqu'un à une solution à mon probleme je serai heureux de l'entendre (j'utilise DEV-C++ 4.9.9.2). Je rappelle aussi que je ne suis pas un expert en c++ (je m'y suis mi il y a environ 1 mois alors ca ne sert à rien de m'envoyer un code de 4 pages je ny comprendrai surment rien).

7 réponses

Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
//-----------------------------------------------------------------------------
//VERSION.C
//-----------------------------------------------------------------------------
#include <windows.h>
#include <wininet.h> //Linker avec -lwininet (Menu Projet -> Options)



//Version du programme courant
#define VER  "1.2"
//Adresse du fichier "ver.txt" sur ton site
#define URL  "
http://TonSite.fr/ver.txt
"
//Taille du buffer
#define SIZE 32



//Buffer qui contiendra la version telecharchee
char szVersion[SIZE];



//-----------------------------------------------------------------------------
// Connexion et recuperation du fichier "ver.txt" sur ton site
//-----------------------------------------------------------------------------
BOOL GetProgVersion(void)
{
  HINTERNET hNet, hUrl;
  DWORD     dwDownloaded;
  BOOL      bRet = FALSE; 



  if(hNet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0))
  {
    if(hUrl = InternetOpenUrl(hNet, URL, NULL, 0, 0, 0))
    {
      if(InternetReadFile(hUrl, (LPVOID)szVersion, SIZE, &dwDownloaded))
      {
        if(dwDownloaded)
        {
          szVersion[dwDownloaded] = 0;
          bRet = TRUE;
        }
      }
      InternetCloseHandle(hUrl);
    }
    InternetCloseHandle(hNet);
  }
  return bRet;
}



//-----------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpLine, int nShow)
{
  char szBuf[64];



  if(GetProgVersion())
  {
    if(!lstrcmp(VER, szVersion))
    {
      wsprintf(szBuf, "La version %s est à jour ;-)", szVersion);
      MessageBox(NULL, szBuf, "Version", MB_ICONINFORMATION);
    }
    else
    {
      wsprintf(szBuf, "la version %s est périmée :-(", VER);   
      MessageBox(NULL, szBuf, "Version", MB_ICONEXCLAMATION);
    }              
  }
  else
    return MessageBox(NULL, "Echec connexion !", "Version", MB_ICONHAND);
}
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
12
non ce n'est pas possible, il faut télécharger le fichier (il y a des sources sur le site) et ensuite lire son contenu!
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Messages postés
17
Date d'inscription
dimanche 6 mars 2005
Statut
Membre
Dernière intervention
6 juin 2007

merci pour cette réponse si rapide,
j'ai cherché mais je ne sais pas comment faire pour que le programme télécharge automatiquement le fichier (sans que l'utilisateur n'est à entrer d'URL). de plus il faudrait que le fichier txt soit enregistré dans le meme dossier que mon programme...
   Tibe
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
12
bah pour que le programme puisse télécharger le fichier, il faut que ce dernier soit toujours à la même adresse, et que ton programme connaisse l'URL.
ensuite quand tu télécharges le fichier, c'est à toi dans le code de dire ou tu veux que le fichier soit enregistrer.
je ne sais pas si je suis clair, mais je sais pas si attaquer un programme comme celui que tu veux réaliser soit une bonne idée vu que tu débutes. La programmation est quelque chose de compliqué et il faut y allé progressivement en commençant par des programmes simples puis en allant vers le compliqué.
il ne faut pas bruler les étapes (ce qui semble être ton cas) !
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

Deja tu vas utiliser quoi comme lib pour telecharger,winsock?urlmon?...
Messages postés
17
Date d'inscription
dimanche 6 mars 2005
Statut
Membre
Dernière intervention
6 juin 2007

Je constate qu'effectivement cela me dépasse un peu...   je l'ai copié tel ke dans mon programme et ca marche impék !
merci beaucoup !!!

tibe
Messages postés
34
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
18 mars 2012

Vous n'auriez pas la même chose pour que ça fonctionne aussi sous GNU/Linux par hasard?