1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.

ftp protocol в си

  1. Попарсил немного гугл-не нашел...кривой наверное)

    Есть ли какие то фукнции реализации коннекта по протоколу ftp? можно использовать fopen() или нет? а то через сокеты это долго...
     
  2. заголовочный protocol.h
    http://gift.sourceforge.net/docs/0.11.x/libgiftproto/protocol_8h-source.html

    Код:
    #include <config.h>
    
    #ifdef HAVE_STDIO_H
    #include <stdio.h>
    #endif
    
    #ifdef HAVE_ERRNO_H
    #include <errno.h>
    #endif
    
    #ifdef HAVE_STRING_H
    #include <string.h>
    #endif
    
    #include "protocol.h"
    
    /**
     *  Check the server for greeting code 220 and then send a QUIT and
     *  check for code 221. If alive return TRUE, else, return FALSE.
     *
     *  @author Jan-Henrik Haukeland, <[email protected]>
     *  @author Michael Amster, <[email protected]>
     *
     *  @version \$Id: ftp.c,v 1.27 2007/07/25 12:54:32 hauk Exp $
     *
     *  @file
     */
    int check_ftp(Socket_T s) {
    
      int status;
      char buf[STRLEN];
    
      ASSERT(s);
    
      if(!socket_readln(s, buf, STRLEN)) {
        LogError("FTP: error receiving data -- %s\n", STRERROR);
        return FALSE;
      }
    
      Util_chomp(buf);
      
      sscanf(buf, "%d %*s", &status);
      if(status != 220) {
        LogError("FTP error: %s\n", buf);
        return FALSE;
      }
    
      if(socket_print(s, "QUIT\r\n") < 0) {
        LogError("FTP: error sending data -- %s\n", STRERROR);
        return FALSE;
      }
    
      if(!socket_readln(s, buf, STRLEN)) {
        LogError("FTP: error receiving data -- %s\n", STRERROR);
        return FALSE;
      }
    
      Util_chomp(buf);
    
      sscanf(buf, "%d %*s", &status);
      if(status != 221) {
        LogError("FTP error: %s\n", buf);
        return FALSE;
      }
    
      return TRUE;
      
    }
    
    ПЛОХО ИСКАЛ:

    http://www.example-code.com/vcpp/ftp.asp
     
  3. Helkern, ну тогда ботай С :)
     
  4. Если кроссплатформенность нужно то используй fasm или nasm (доки выкладывал тут). Тем более сейчас с со всеми этими макросами программить на асе - не сложнее чем на С/C++.
    А так.. Тевтон прав - для никсов учи Це. Кстати для mac & unix систем есть тоже типа MFC - Qt называется (http://phil.freehackers.org/kde/qt-vs-mfc.html). Вот кстати тебе мини справочник по функциям С++ в никсах - http://www.codenet.ru/progr/cpp/spru/