tags:

views:

2657

answers:

7
+3  Q: 

C++ FTP Library?

Hello there,

I am looking for an FTP Library for C++ to do basic ftp functions like authenticate, change directory, upload files, etc. but I can't seem to find one. I've searched over Google, Sourceforge, and CodeProject (well, there's one complete FTP CLIENT project for Win95 in CodeProject, however I don't need the entire ftp client..), but I only found C# FTP libraries.

Could you guys please suggest me a good one? or maybe an alternative?

Thanks.

fyi: Microsoft Visual C++ 2008 Express Edition is my only IDE, and I prefer precompiled static library (*.lib) that can be statically linked (if any)

+3  A: 

libftp (though it's in C)
ftplib (again, looks like C)
libCurl seems to have FTP capabilities.

Finding a C++ implementation might be difficult, but wrapping a C library in C++ classes wouldn't be difficult if you really need a C++ interface.

Edit: Just saw that you prefer a pre-compiled library. If this is an absolute requirement you'll probably have to use a C library as ABI issues will more than likely mean that a pre-compiled C++ library won't work for you.

Glen
+4  A: 

Try libCurl. It has bindings for C++ (cURLpp) and 30 other languages.

Vijay Mathew
Straight up libCurl is what I've used. I looked over the cpp wrapper, but the plain C interfaces were just as easy to use, and better documented.
Brad Bruce
A: 

Try Ultimate TCP/IP which supports FTP (and you can just compile in the FTP part). It's a great library (and it's free).

http://www.codeproject.com/KB/MFC/UltimateTCPIP.aspx

Rob
A: 

QT has a QFtp class which might contain all you need.

shoosh
+1  A: 

Hi!

Take a look at Poco Project released under Boost software license.

They provide an FTP RFC 959 implementation. You can do login or updload files, change modes etc. as the functionality of FTPSession class.

Regards,
Ovanes

P.S. It is a multi-platform lib, which works on Windows as well.

ovanes
A: 

Hey folks,

I saw this question and I'm currently searching for a ftp lib, too.

But does anyone know a lib which supports setting up a very simple ftp server? This is needed to build a simple C++ tool listening for incoming FTP upload requests to store files.

Any hints are appreciated. C is ok, C++ would be great, but it's no problem to build a C++ wrapper class - if wanted, I can publish it as open source.

ciao, Chris

3DH
+1  A: 

Just to inform those who are looking for a good C++ FTP Library/Class, I've found a very good and easy to use one. Using it is just as easy as using C# FTP library that has been made by many peoples already. If you haven't tried one, here's an example code:

nsFTP::CFTPClient ftpClient;
nsFTP::CLogonInfo logonInfo("localhost", 21, "anonymous", 
                                      "[email protected]");

// 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/KB/IP/ftpclientclass.aspx and enjoy!

And it is totally programmed in C++ with STL (no MFC)

I am sorry for switching the answer to this post, because I think this is a better solution, rather than using the ones that written in C.

djzmo