Upload en ftp

Résolu
cs_hichem16 Messages postés 12 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 10 avril 2010 - 5 août 2009 à 05:17
cs_hichem16 Messages postés 12 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 10 avril 2010 - 5 août 2009 à 13:24
Bonjour, je voulais faire un petit log en console avec Dev-C++, le principe c'est que vous écrivez un texte, ensuite ce texte sera sauvegardé et uploadé sur un serveur ftp, voila ce que j'ai réussi a faire mais à la compilation y'a les erreurs suivantes:
[Linker error] undefined reference to `InternetOpenA@20'
[Linker error] undefined reference to `InternetConnectA@32'
[Linker error] undefined reference to `FtpPutFileA@20'
[Linker error] undefined reference to `InternetCloseHandle@4'
[Linker error] undefined reference to `InternetCloseHandle@4'
ld returned 1 exit status
[Build Error] [Project1.exe] Error 1

voici mon code :p

#define MAIN_LEN 50
#define NameApp "FTPUploader"

#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <Wininet.h>
#include <windows.h> 

main()
{
      char text[80];
      FILE *f;

      char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1);
      char NameServeurFtp[MAIN_LEN+1]="whizzkid.ohost.de";
      char LoginFtp[MAIN_LEN+1]="whizzkid";
      char PwdFtp[MAIN_LEN+1]="password";
      bool ResultFtp;
  
 printf("this will save and send a file with your text");   
 printf("\n Your texe: ");
 scanf("%s",text);
 
 f=fopen("text.txt","w+");
if(f==NULL )
{
printf("erreur\n");
return(-1);
}
 fprintf(f,text);
 fclose(f);    
    
 HINTERNET hInternetSession = InternetOpenA( "FTPtest" , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    if(hInternetSession == NULL)
        {
        printf("ErrOr");
exit(1);
        }
 HINTERNET hFTPSession =  InternetConnectA( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
    if(hFTPSession == NULL)
        {
        printf("ErrOr");
exit(1);
        }

 ResultFtp = FtpPutFileA( hFTPSession,"text.txt","text.txt", FTP_TRANSFER_TYPE_BINARY, 0);

    if(!ResultFtp)
        {
        printf("ErrOr");
exit(1);
        }
        
    InternetCloseHandle ( hFTPSession );
    InternetCloseHandle ( hInternetSession );
 
getch();
 } 

4 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
5 août 2009 à 13:08
Salut,

Dev-C++, donc le #pragma ne fonctionne pas.

Il faut que tu ajoutes wininet en entrée du lieur, quelque part dans les options du projet.
3
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
5 août 2009 à 08:53
Ajoute après l'include de son header #pragma comment(lib,"wininet.lib")

---
VB.NET is good ... VB6 is better
0
cs_hichem16 Messages postés 12 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 10 avril 2010
5 août 2009 à 12:13
ca donne toujours rien, j'obtient les mêmes erreurs !!
0
cs_hichem16 Messages postés 12 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 10 avril 2010
5 août 2009 à 13:24
YESSSSSS That works !!
0
Rejoignez-nous