Liste de ossiers ftp Wininet [Résolu]

Signaler
Messages postés
10
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
28 août 2007
-
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
-
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,

4 réponses

Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
// 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;
}
Messages postés
179
Date d'inscription
mardi 16 août 2005
Statut
Membre
Dernière intervention
25 août 2010
1
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
Messages postés
10
Date d'inscription
mardi 15 février 2005
Statut
Membre
Dernière intervention
28 août 2007

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 !
Messages postés
198
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
18 mars 2011
1
Ajoute InternetCloseHandle(hFtp); en fin de programme...