Réponse acceptée !
// 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;
}