Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wysyłanie pliku na serwer FTP, program zacina się.

Ostatnio zmodyfikowano 2012-08-16 18:16
Autor Wiadomość
increase
Temat założony przez niniejszego użytkownika
» 2012-08-16 18:11:43
C/C++
#include <wininet.h>
#include <iostream>
#include <windows.h>

using namespace std;

int WyslijPlik()
{
    char ftp[] = "serwer.pl";
    char user[] = "login";
    char password[] = "haslo";
    char localFile[] = "plik.txt";
    char remoteFile[] = "/folder/plik.txt";
    HINTERNET hInternet;
    HINTERNET hFtpSession;
    if( InternetAttemptConnect( 0 ) == ERROR_SUCCESS ) cout << "Internet dostepny, wysylanie pliku..\n" << endl;
    else { cout << "Internet niedostepny.\n" << endl; return - 1; }
    hInternet = InternetOpen( NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 );
   
    if( hInternet != NULL )
    {
       
        hFtpSession = InternetConnect( hInternet, ftp, INTERNET_DEFAULT_FTP_PORT, user, password, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 );
       
        if( hFtpSession != NULL )
        {
            if( FtpPutFile( hFtpSession, localFile, remoteFile, FTP_TRANSFER_TYPE_BINARY, 0 ) )
            {
                InternetCloseHandle( hFtpSession );
                InternetCloseHandle( hInternet );
            }
            else
            {
                cout << "Blad podczas wysylania pliu." << endl;
                return - 1;
            }
        }
        else return - 1;
       
    }
    else return - 1;
   
    cout << "Wyslano Plik.\n" << endl;
    return 0;
}

int main()
{
   
    WyslijPlik();
    system( "pause" );
}
P-62670
xevuel
» 2012-08-16 18:16:31
DWORD WINAPI GetLastError( void );

A to co za potwór? O_o

/*Edit: To że wyedytujesz kod, to nie znaczy że tego tam nie było... Zamieszczam fragment kodu w oryginalnej postaci, przed wyedytowaniem:
C/C++
if( hInternet != NULL )
{
    DWORD WINAPI GetLastError( void );
    hFtpSession = InternetConnect( hInternet, ftp, INTERNET_DEFAULT_FTP_PORT, user, password, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0 );
    //DWORD WINAPI GetLastError( void );
    if( hFtpSession != NULL )
*/

Radzę powtórzyć podstawowe informacje, bo nie dosyć, że nie znasz podstaw, to jeszcze nawet dokumentacji nie raczyłeś dokładnie przeczytać. Na dodatek tego kodu nie napisałeś Ty, tylko skopiowałeś z internetu.

GetLastErrorZwraca ostatni kod błędu, który wystąpił na wątku wywołującym niniejszą funkcję. (funkcja)
FormatMessageFormatuje daną wiadomość zgodnie z podanymi wytycznymi. (funkcja)

Funkcje - pierwsze starcieRozdział 17. Co to są funkcje i jak się z nich korzysta. (lekcja)
Funkcje, a słowo kluczowe returnRozdział 20. Jak działa słowo kluczowe return w funkcjach i jakie są praktyczne zalety z właściwego używania wspomnianego słowa kluczowego. (lekcja)
P-62671
1 2 « 3 »
Poprzednia strona Strona 3 z 3