Liste de ossiers ftp Wininet [Résolu]

Messages postés
10
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
28 août 2007
- - Dernière réponse : cs_magma
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
- 21 avril 2007 à 19:49
Salut à tous !
Ca fait plus de 3 jours que je cherche à faire une fonction en c++ avec wininet qui me permettrai de mettre dans un tableau la liste des dossiers d'un dossier donné.
Je cherche déserpérement sur le site ou dans wininet.h mais je n'arrive que à transférer des fichiers ou à les télécharger.

Ex :   \lol   \1
                \2
                \3
                \4

En fait je voudrais récupérer dans un tableau [1], [2], [3], [4].
Et j'ai beaucoup de mal à faire ça ... .

Quelqu'un pourrait m'aider ou m'éclairer, je débute en c++.
Je suis en Borland builder 5 si faut le préciser.

Merci d'avance à vous tous,
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
3
Merci
// FTP_ListDir.c



#include <wininet.h>  //Linker wininet.lib ou libwininet.a
#include <stdio.h>



#define SERV  "tonserveurftp"
#define USER  "tonlogin"
#define PASS  "tonmotdepasse"
#define LDIR  "/"



int main(void)
{
  HINTERNET hNet, hCnx, hFtp;
  WIN32_FIND_DATA wfdFile;
  int c = 0;



  hNet = InternetOpen("FTP_ListDir",
                       INTERNET_OPEN_TYPE_DIRECT,
                       NULL,
                       NULL,
                       0);
  if(!hNet){
    printf("Erreur InternetOpen() !\n");
    return 1;
  }
  hCnx = InternetConnect(hNet,
                         SERV,
                         INTERNET_DEFAULT_FTP_PORT,
                         USER,
                         PASS,
                         INTERNET_SERVICE_FTP,
                         0,
                         0);
  if(!hCnx){
    printf("Erreur InternetConnect() !\n");
    InternetCloseHandle(hNet);
    return 1; 
  }
  printf("\nListe des dossiers de %s\n\n", LDIR);
 
  hFtp = FtpFindFirstFile(hCnx, LDIR, &wfdFile, 0, 0);
  if(!hFtp){
    printf("Erreur FtpFindFirstFile() !\n");
    InternetCloseHandle(hCnx);
    InternetCloseHandle(hNet);
    return 1; 
  } 
  do{ 
    if(wfdFile.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY){
      printf("\t%s\n", wfdFile.cFileName);
      c++;   
    } 
  }
  while(InternetFindNextFile(hFtp, &wfdFile)); 
 
  printf("\n%d Dossier(s)\n", c);
  InternetCloseHandle(hCnx);
  InternetCloseHandle(hNet);
  return 0;
}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 129 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_magma
Messages postés
179
Date d'inscription
mardi 16 août 2005
Statut
Membre
Dernière intervention
25 août 2010
0
Merci
En 1 clic sur google, je tombe sur un aticle de vbfrance..

Y a une fonction EnumFiles... Y a transcoder de VB en c++..

http://www.vbfrance.com/codes/FTP-DOWNLOAD-UPLOAD-SUPPRIMME-RENOMME-DOSSIER-V2_17386.aspx
Commenter la réponse de cs_vicenzo
Messages postés
10
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
28 août 2007
0
Merci
Ouah merci beaucoup j'en attendait pas tant !!! Ca fonctionne impéccable ...
bah encore merci beaucoup ! je posterai ma source une fois le projet fini !
Commenter la réponse de Roulio52
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
0
Merci
Ajoute InternetCloseHandle(hFtp); en fin de programme...
Commenter la réponse de cs_magma