C++ FTP Datei Upload?



  • Hallo liebe Community,
    ich frage mich wie man eine Datei über einen FTP Server hochladen kann.
    Und ja: Ich habe schon gegooglet und diesen Code hier gefunden der bei mir aber nicht funktioniert und ich weiß leider nicht warum.
    Der ganze Code zwischen den Anführungszeichen wird Rot unterkringelt.

    #include <windows.h>
    #include <winuser.h>
    #include <wininet.h>
    #include <process.h>
    #include <iostream>
    #include <fstream>
    #include <stdio.h>
    #include <conio.h>
    #pragma comment(lib, "libwininet.a")
    #pragma comment(lib, "Wininet.lib")
    #pragma comment(lib, "ws2_32")
    
    void upload()
    {
        HINTERNET hOpen, hConnection;
        hOpen = InternetOpen("FTP Upload",INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    
        hConnection = InternetConnect(hOpen, "username.bplaced.de", INTERNET_DEFAULT_FTP_PORT, "username", "password", INTERNET_SERVICE_FTP, 0, 0);
    
        FtpPutFile(hConnection, "E:\\Development\\C\\Projects\\1_helper\\config.txt", "/config.txt", FTP_TRANSFER_TYPE_BINARY, 0);
    
        InternetCloseHandle(hConnection);
        InternetCloseHandle(hOpen);
    }
    
    int main(){
    	upload();
    
    	return 0;
    }
    

    Bitte nicht lachen wenn es jetzt eine wirklich einfache Lösung dafür gibt aber ich bin halt auch noch Anfänger.
    Ich glaube jeder war das mal. ^^
    IDE ist Microsoft Visual C++ 2010 Express und als Fehler wird dies hier ausgegeben:

    1>Test.cpp(18): error C2664: 'InternetConnectW': Konvertierung des Parameters 2 von 'const char [20]' in 'LPCWSTR' nicht möglich
    1>          Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    1>Test.cpp(20): error C2664: 'FtpPutFileW': Konvertierung des Parameters 2 von 'const char [46]' in 'LPCWSTR' nicht möglich
    1>          Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    


  • Ich tippe mal, dass da irgendwo in den Projekteigenschaften Unicode eingestellt ist, die Signaturen der Funktionen wollen aber ASCII.



  • Danke! Das ist die Lösung! 😃 Ich habe mir schon gedacht das jetzt jemand mit einer total einfachen Antwort daher kommt. 😛 Tut mir wirklich leid das ich deine Zeit in anspruch genommen habe. :3


Anmelden zum Antworten