Ftp Verbindung zu Server aufnehmen nach Userinput



  • Hi
    Ich möchte dass der Benutzer Angaben machen kann und das Programm dann zu diesem Server verbindet

    Hier ist das Originalprogramm was sich auch einwandfrei kompilieren laesst und funktioniert

    #include <windows.h>
    #include <wininet.h>
    #include <process.h> 
    #include <iostream>
    #include <fstream>
    #include<stdio.h>
    #include<conio.h>
    #include<wininet.h>
    #pragma comment(lib, "Wininet.lib")
    #pragma comment(lib, "ws2_32")
    #pragma comment(lib, "libwininet.a")
    
    using namespace std;
    
    void upload(void);
    
    int main()
    {
    
            upload();
    
    }
    
    void upload()
    {
        HINTERNET hOpen, hConnection;
    
        hOpen = InternetOpen("FTP Upload", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    
        hConnection = InternetConnect(hOpen, "server", INTERNET_DEFAULT_FTP_PORT,
                                         "acc", "pw", INTERNET_SERVICE_FTP, 0, 0);
    
        FtpPutFile(hConnection, "C:\\upload.txt", "//upload.txt",
                      FTP_TRANSFER_TYPE_ASCII, 0);
    
        InternetCloseHandle(hConnection);
        InternetCloseHandle(hOpen);
    }
    

    Das hab ich dann versucht umzugestalten:

    #include <windows.h>
    #include <wininet.h>
    #include <process.h> 
    #include <iostream>
    #include <fstream>
    #include<stdio.h>
    #include<conio.h>
    #include<wininet.h>
    #pragma comment(lib, "Wininet.lib")
    #pragma comment(lib, "ws2_32")
    #pragma comment(lib, "libwininet.a")
    
    using namespace std;
    
    void upload(void);
    
    int main()
    {
    char server[50];
    char account[50];
    char passwort[50]; 
    
    cin.getline(server,50); 
    cin>>account;
    cin>>passwort;
            upload();
    
    }
    
    void upload()
    {
        HINTERNET hOpen, hConnection;
    
        hOpen = InternetOpen("FTP Upload", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    
        hConnection = InternetConnect(hOpen, ""<<server<<", INTERNET_DEFAULT_FTP_PORT,
                                         ""<<acc<<"", ""<<pw<<"", INTERNET_SERVICE_FTP, 0, 0);
    
        FtpPutFile(hConnection, "C:\\upload.txt", "//upload.txt",
                      FTP_TRANSFER_TYPE_ASCII, 0);
    
        InternetCloseHandle(hConnection);
        InternetCloseHandle(hOpen);
    }
    

    Funktioniert leider nicht 😞

    Kann mir jemand helfen?



  • void upload(char *server, char *account, char *passwort);
    ...
    InternetConnect(hOpen, server, INTERNET_DEFAULT_FTP_PORT, account, passwort, ...);
    


  • Erstma thx fuer Hilfe

    Leider kommen noch diese Errors:

    32 expected unqualified-id before '{' token
    32 expected ,' or;' before '{' token

    Bezieht sich auf diese Zeile

    void upload(char *server, char *account, char *passwort);
    { (---



  • falls upload() eine definition ist, ist das semikolon zu falsch
    siehe: http://www.c-plusplus.net/forum/viewtopic-var-t-is-61231.html



  • Bei mir wird das erste Programm auch nicht kompiliert. Bei mir kommen folgende Fehlermeldungen:

    Fehler 1 error C2664: 'InternetOpenW': Konvertierung des Parameters 1 von 'const char [11]' in 'LPCWSTR' nicht möglich c:\users\administrator\documents\visual studio 2008\projects\1\1\1.cpp 31
    Fehler 2 error C2664: 'InternetConnectW': Konvertierung des Parameters 2 von 'const char [7]' in 'LPCWSTR' nicht möglich c:\users\administrator\documents\visual studio 2008\projects\1\1\1.cpp 34
    Fehler 3 error C2664: 'FtpPutFileW': Konvertierung des Parameters 2 von 'const char [14]' in 'LPCWSTR' nicht möglich c:\users\administrator\documents\visual studio 2008\projects\1\1\1.cpp 36

    Woran liegt das und wie kann ich das ändern hab' leider noch nicht so viel Ahnung von der Api.



  • Hi,

    also echt...
    einfach mal nach "Konvertierung 'const char []' in 'LPCWSTR'" oder "LPCWSTR" suchen. Wurde im Board schon so oft angesprochen das Thema.

    Blessed Love C0de4Fun


Anmelden zum Antworten