Sample code for 30+ languages & platforms
Unicode C

Quote and SendCommand

See more FTP Examples

Demonstrate the Quote and SendCommand methods.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkFtp2W.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkFtp2W ftp;
    const wchar_t *serverResponse;

    success = FALSE;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    ftp = CkFtp2W_Create();

    CkFtp2W_putHostname(ftp,L"ftp.example.com");
    CkFtp2W_putUsername(ftp,L"login");
    CkFtp2W_putPassword(ftp,L"password");

    // Connect and login to the FTP server.
    success = CkFtp2W_Connect(ftp);
    if (success != TRUE) {
        wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
        CkFtp2W_Dispose(ftp);
        return;
    }

    // Tell the FTP object to keep an in-memory session log
    // so we can see the commands sent to the server,
    // and the responses received back.
    CkFtp2W_putKeepSessionLog(ftp,TRUE);

    // Change the current remote directory via the Quote method:
    success = CkFtp2W_Quote(ftp,L"CWD junk");
    if (success != TRUE) {
        wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
        CkFtp2W_Dispose(ftp);
        return;
    }

    // Move back up 
    // In this case, ChangeRemoteDir sends "CWD .." to the FTP server.
    success = CkFtp2W_ChangeRemoteDir(ftp,L"..");
    if (success != TRUE) {
        wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
        CkFtp2W_Dispose(ftp);
        return;
    }

    // Do the same via the SendCommand method where the
    // raw FTP server response is returned:
    serverResponse = CkFtp2W_sendCommand(ftp,L"CWD junk");
    if (CkFtp2W_getLastMethodSuccess(ftp) != TRUE) {
        wprintf(L"%s\n",CkFtp2W_lastErrorText(ftp));
    }
    else {
        wprintf(L"%s\n",serverResponse);
    }

    success = CkFtp2W_Disconnect(ftp);

    wprintf(L"Session Log:\n");
    wprintf(L"%s\n",CkFtp2W_sessionLog(ftp));


    CkFtp2W_Dispose(ftp);

    }