En win 32 ?
void recupFTP(char *adresseFTP,char *loginFTP,char *passwordFTP,char *nomdufichierdistant,char *nomapresDL)
{
HINTERNET hInternetSession = InternetOpen ( "FTPtest" , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if(hInternetSession == NULL)
printf("erreur ouverture internet");
HINTERNET hFTPSession = InternetConnect ( hInternetSession, adresseFTP, INTERNET_DEFAULT_FTP_PORT, loginFTP, passwordFTP, INTERNET_SERVICE_FTP, 0, 0);
if(hFTPSession == NULL)
printf("erreur de login FTP");
if(!FtpGetFile( hFTPSession,fichierarecuperer, nomapresDL, false, 0 ,FTP_TRANSFER_TYPE_ASCII, 0))
printf("erreur dans la recuperation du fichier");
InternetCloseHandle ( hFTPSession );
InternetCloseHandle ( hInternetSession );
}
pour les explications , INTERNET hInternetSession = InternetOpen ouvre une connection internet avec comme nom de programme "FTPtest" ..
HINTERNET hFTPSession = InternetConnect ( ouvre la connection ftp
FtpGetFile( ... on ne peut plus clair ^^
InternetCloseHandle ( ferme ce qui a été ouvert , en esperant que les noms de variables de cette fonctions seront suffisament explicite. Je te conseille cependant de te faire ta propre fonction pour bien comprendre comment ca marche ..
( Les printfs sont aussi explicitent au niveau quelle erreur .. mais pas indispensable surtout en win 32 .. )

ah j'oubliais , #include <wininet.h> et linker sur ../lib/libwininet.a sous dev C++ ou alors
#pragma comment(lib, "wininet.lib")