Ouvir fichier txt depuis une URL

Résolu
tibe18453636 Messages postés 17 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 6 juin 2007 - 16 sept. 2006 à 18:10
spomky Messages postés 34 Date d'inscription mercredi 15 février 2012 Statut Membre Dernière intervention 18 mars 2012 - 4 oct. 2006 à 20:35
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

cs_magma Messages postés 198 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 18 mars 2011
17 sept. 2006 à 00:17
//-----------------------------------------------------------------------------
//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);
}
3
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
16 sept. 2006 à 18:30
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..."
0
tibe18453636 Messages postés 17 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 6 juin 2007
16 sept. 2006 à 18:45
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
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
16 sept. 2006 à 19:30
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..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
16 sept. 2006 à 19:45
Deja tu vas utiliser quoi comme lib pour telecharger,winsock?urlmon?...
0
tibe18453636 Messages postés 17 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 6 juin 2007
17 sept. 2006 à 10:38
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
0
spomky Messages postés 34 Date d'inscription mercredi 15 février 2012 Statut Membre Dernière intervention 18 mars 2012
4 oct. 2006 à 20:35
Vous n'auriez pas la même chose pour que ça fonctionne aussi sous GNU/Linux par hasard?
0
Rejoignez-nous