Problem mit FtpRenameFile



  • Hallo ich versuche gerade auf meinem FTP Server eine Datei umzubennen.

    Aber als Rückgabewert bekomme ich von FtpRenameFile immer 0 ausgeben.

    InternetOpen und InternetConnect geben mir ein Handle aus da scheint alles richtig zu funktionieren.

    Oder muss ich da irgendwie einen Pfad mit angeben hier ist mal ein Bild von meinem FTP Server Verzeichniss:

    http://r26.img-up.net/files0bm1.JPG

    #include <iostream>
    #include <windows.h>
    #include <WinInet>
    using namespace std;
    
    int main()
    {
    
    HINTERNET connect_ret;
    HINTERNET ret;
    
    ret = InternetOpen ( "ftp"  ,  INTERNET_OPEN_TYPE_DIRECT,
                                   NULL, NULL,
                                   INTERNET_FLAG_ASYNC
                       );
    
    cout<<"Internet open ret: " << ret << endl;
    
    connect_ret = InternetConnect
    (
                    ret,
                    "mein_server.de",
                    21,
                    "mein login name",
                    "mein passwort",
                    INTERNET_SERVICE_FTP,
                    0,
                    0
    
    );
    
    cout<<"connect ret: " << connect_ret<<endl;
    
    bool rename_file = FtpRenameFile
    (
                       connect_ret  ,
                       "datei.txt"  ,
                       "test.txt"
    );
    
    cout<<"rename file ret: " << rename_file << endl;
    
    system("PAUSE");
    }
    


  • Oops ich hatte GetLastError(); vergessen

    Der Fehler code bei rename_file lautet: 997

    Kann man diese Tabelle auch benutzen um zu sehen was 997 nun bedeutet ?

    http://msdn.microsoft.com/en-us/library/ms681388(v=VS.85).aspx

    Weil in der MSDN steht ja: System Error Codes (500-999)

    Aber jetzt weiss ich nicht ob das als "System Error" gezählt wird. 😕

    Laut der Tabelle bedeutet 997:

    ERROR_IO_PENDING 997 (0x3E5)
    Overlapped I/O operation is in progress.

    Überlapende Input/Output Operation ist in gange oder so ^^

    #include <iostream>
    #include <windows.h>
    #include <WinInet>
    using namespace std;
    
    int main()
    {
    
    HINTERNET connect_ret;
    HINTERNET ret;
    
    ret = InternetOpen ( "ftp"  ,  INTERNET_OPEN_TYPE_DIRECT,
                                   NULL, NULL,
                                   INTERNET_FLAG_ASYNC
                       );
    
    cout<<"Internet open ret: " << ret <<" Error Code: " <<  GetLastError() <<endl;
    
    connect_ret = InternetConnect
    (
                    ret,
                    "testaccount435.te.funpic.de",
                    21,
                    "testaccount435 ",
                    "ca124gh8",
                    INTERNET_SERVICE_FTP,
                    0,
                    0
    
    );
    
    cout<<"connect ret: " << connect_ret << " Error Code: " <<  GetLastError() <<endl;
    
    bool rename_file = FtpRenameFile
    (
                       connect_ret  ,
                       "datei.txt"  ,
                       "test.txt"
    );
    
    cout<<"rename file ret: " << rename_file << " " << "Error Code: " <<  GetLastError() << endl;
    
    system("PAUSE");
    }
    


  • Jetzt hab ich nochmal mit File Zilla geguckt und was sehe ich es hat funktioniert. O_o

    Das liegt bestimmt wieder an dem scheiss Funpic Server das das so lange gedauert hat ! 😡

    Aber wieso gibt mir mein Programm ein Fehlercode aus. o_O

    Naja ich probier es nachher nochmal mit einem NICHT Funpic Server mit den dingern hatte ich schon öfters Ärger ... deswegen sind die wohl auch umsonst. ^^


Anmelden zum Antworten