Ожидание Python 3k , где кодировка по умолчанию источника будет UTF-8?
Чтобы проинформировать тех, кто ищет хорошую библиотеку / класс FTP для C ++, я нашел очень хорошую и простую в использовании. Использовать его так же просто, как использовать FTP-библиотеку C #, которую уже создали многие люди. Если вы еще не пробовали, вот пример кода:
nsFTP::CFTPClient ftpClient; nsFTP::CLogonInfo logonInfo("localhost", 21, "anonymous", "anonymous@user.com"); // connect to server ftpClient.Login(logonInfo); // get directory listing nsFTP::TSpFTPFileStatusVector list; ftpClient.List("/", list); // iterate listing for( nsFTP::TSpFTPFileStatusVector::iterator it=list.begin(); it!=list.end(); ++it ) TRACE("\n%s", (*it)->Name().c_str()); // do file operations ftpClient.DownloadFile("/pub/test.txt", "c:\\temp\\test.txt"); ftpClient.UploadFile("c:\\temp\\test.txt", "/upload/test.txt"); ftpClient.RenameFile("/upload/test.txt", "/upload/NewName.txt"); ftpClient.Delete("/upload/NewName.txt"); // disconnect ftpClient.Logout();
http://www.codeproject.com/Articles/8667/FTP-Client-Class и наслаждайтесь!
И он полностью запрограммирован на C ++ с STL (без MFC)
Прошу прощения за переключение ответа на этот пост, потому что я думаю, что это лучшее решение, чем использовать те, которые написаны на C.
libftp (хотя это в C)
ftplib (опять же, похоже на C)
libCurl , похоже, имеет возможности FTP.
Найти реализацию C ++ может быть сложно, но обернуть библиотеку C в классы C ++ не получится. Это не составит труда, если вам действительно нужен интерфейс C ++.
Edit: Только что увидел, что вы предпочитаете предварительно скомпилированную библиотеку. Если это абсолютное требование, вам, вероятно, придется использовать библиотеку C, поскольку проблемы с ABI более чем вероятно означают, что предварительно скомпилированная библиотека C ++ вам не подойдет.
Взгляните на Poco Project выпущен под лицензией на программное обеспечение Boost.
Они обеспечивают реализацию FTP RFC 959. Вы можете выполнять вход в систему или обновлять файлы, изменять режимы и т. Д. Как функции класса FTPSession .
С уважением,
Ovanes
PS Это многоплатформенная библиотека, которая также работает в Windows.
QT имеет класс QFtp , который может содержать все, что вам нужно.
Попробуйте Ultimate TCP / IP, который поддерживает FTP (и вы можете просто скомпилировать в части FTP). Это отличная библиотека (и она бесплатная).