PDA

Visualizza la versione completa : [C] Libreria FTP


TTO
02-01-2008, 16:22
Ciao a tutti!

Devo realizzare un'applicazione in C che mi permetta di scaricare o inviare file da/verso un server FTP.
Essendo alle prime armi con il C, ho deciso di affidarmi ad una libreria gratuita (ftplib.h versione 3)

Ora, come prima cosa devo connettermi al server ma, essendo alle prime armi, non riesco ben a capire come utilizzare la libreria.... essendo la documentazione alquanto scarna.

Quindi...

#include <stdio.h>
#include "ftplib.h"

main () {

int FtpConnect(const char *host, netbuf **nControl);

}

Da quel che ne ho capito la funzione resituisce 1 se la connessione va a buon fine e 0 se no. Dentro "host" dovrei inserire l'ip del server, mentre al secondo parametro viene data una spiegazione non proprio chiara per me...eccola:

"FtpConnect() establishes a connection to the FTP server on the specified machine and returns a handle which can be used to initiate data transfers."

Qualcuno mi saprebbe spiegare come far funzionare la libreria? Soprattutto: ho visto che presente l'operatore * il che significa che va ad acquisire il valore di un puntatore. Come funziona? Come indico alla funzione l'host e a cosa serve il secondo argomento.

Per ottenere la libreria cercate ftplib su Google e scegliete la prima voce in elenco.

Grazie!

pallinopinco
02-01-2008, 16:35
Ora, come prima cosa devo connettermi al server ma, essendo alle prime armi, non riesco ben a capire come utilizzare la libreria.... essendo la documentazione alquanto scarna.


Se si ha una minima conoscenza del C la documentazione non affatto scarna, anzi descrive tutte le funzioni della libreria.

Comunque dopo aver dichiarato:

static char *host = NULL;
static netbuf *connessione = NULL;
static char *user = NULL;
static char *password = NULL;

valorizzi con le opportune stringhe l'host FTP, l'utente e la relativa password poi effettui il login:



if (!FtpConnect(host,&connessione))
{
fprintf(stderr,"Impossibile connettersi al server %s\n%s",host,ftplib_lastresp);
exit(EX_CONNECT);
}
if (!FtpLogin(user,password,connessione))
{
fprintf(stderr,"Errore di login\n%s",FtpLastResponse(connessione));
exit(EX_LOGIN);
}
...


Per le restanti funzioni devi fare riferimento alla documentazione ufficiale.

TTO
02-01-2008, 16:45
Grazie mi hai chiarito le idee.. il problema che non avevo digerito troppo bene i puntatori... Per il resto... si la documentazione affronta tutti i comandi.. vero.

Loading