资源简介
非常好用的FTP文件上传和下载等管理类,可轻松移植到你的C++程序中,目前已经应用于我们项目中。这个类适用于windows环境下
代码片段和文件信息
/*******************************************************
Copyright 2014-2016 xhl Co. Ltd.
文 件: FTPManager.cpp
开发单位:
编 写: XHL
日 期: 2015.04
描 述: FTP文件上传下载管理文件
修 改:
********************************************************/
#include “stdafx.h“
#include “FTPManager.h“
static int SplitString( std::string strSrc std::list &strArray std::string strFlag)
{
int pos = 1;
while((pos = (int)strSrc.find_first_of(strFlag.c_str())) > 0)
{
strArray.insert(strArray.end() strSrc.substr(0 pos));
strSrc = strSrc.substr(pos + 1 strSrc.length() - pos - 1);
}
strArray.insert(strArray.end() strSrc.substr(0 strSrc.length()));
return 0;
}
CFTPManager::CFTPManager(void): m_bLogin(false)
{
m_cmdSocket = socket(AF_INET SOCK_STREAM 0);
}
CFTPManager::~CFTPManager(void)
{
std::string strCmdLine = parseCommand(FTP_COMMAND_QUIT ““);
Send(m_cmdSocket strCmdLine.c_str());
closesocket(m_cmdSocket);
m_bLogin = false;
}
FTP_API CFTPManager::login2Server(const std::string &serverIP)
{
std::string strPort;
int pos = serverIP.find_first_of(“:“);
if (pos > 0)
{
strPort = serverIP.substr(pos + 1 serverIP.length() - pos);
}
else
{
pos = serverIP.length();
strPort = FTP_DEFAULT_PORT;
}
m_strServerIP = serverIP.substr(0 pos);
m_nServerPort = atol(strPort.c_str());
trace(“IP: %s port: %d\n“ m_strServerIP.c_str() m_nServerPort);
if (Connect(m_cmdSocket m_strServerIP m_nServerPort) < 0)
{
return -1;
}
m_strResponse = serverResponse(m_cmdSocket);
printf(“@@@@Response: %s“ m_strResponse.c_str());
return parseResponse(m_strResponse);
}
FTP_API CFTPManager::login2Server(const std::string &serverIPconst std::string &serverPor)
{
std::string strPort;
int pos = serverIP.find_first_of(“:“);
if (pos > 0)
{
strPort = serverIP.substr(pos + 1 serverIP.length() - pos);
}
else
{
pos = serverIP.length();
strPort = serverPor;
}
m_strServerIP = serverIP.substr(0 pos);
m_nServerPort = atol(strPort.c_str());
trace(“IP: %s port: %d\n“ m_strServerIP.c_str() m_nServerPort);
if (Connect(m_cmdSocket m_strServerIP m_nServerPort) < 0)
{
return -1;
}
m_strResponse = serverResponse(m_cmdSocket);
printf(“@@@@Response: %s“ m_strResponse.c_str());
return parseResponse(m_strResponse);
}
FTP_API CFTPManager::inputUserName(const std::string &userName)
{
std::string strCommandLine = parseCommand(FTP_COMMAND_USERNAME userName);
m_strUserName = userName;
if (Send(m_cmdSocket strCommandLine) < 0)
{
return -1;
}
m_strResponse = serverResponse(m_cmdSocket);
printf(“Response: %s\n“ m_strResponse.c_str());
return parseResponse(m_strResponse);
}
FTP_API CFTPManager::inputPassWord(const std::string &password)
{
std::string strCmdLine = parseCommand(FTP_COMMAND_PASSWORD password);
m_strPassWord = password;
if (Send(m_cmdSocket strCmdLine) < 0)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18272 2015-04-10 15:02 FTPManager.cpp
文件 5583 2015-04-10 08:55 FTPManager.h
----------- --------- ---------- ----- ----
23855 2
相关资源
- Linux下C语言编写服务端、客户端程序
- 自己实现的ping源码
- http上传C++代码实现
- 上传的p2p技术C语言源码
- ftp客户端及服务器 mfc 网络高级程序设
- 使用URLDownloadToFile函数实现文件带进度
- TFTP协议的C语言实现客户端和服务器
- C++矩阵计算类
- VC++实现客户端与服务器端的文件传输
- 简单WinInet FTP客户端编程
- 非常好用的c++ ftp库源码vs2013工程
- linux下C语言实现FTP上传文件源码200行
- mfc的ftp客户端源码
- C语言电子书打包
- cmake-3.7.1.rar
- VC++通过FTP上传文件
- C++ 纯SOCKET实现FTP客户端类
- FileZilla_Server-0_9_41
- SecureFX注册机
- VC++ 多任务多线程程序源码
- uTorrent v2.21 最终优化版(附BT服务器列
- PyHook3-1.6.1-py3.7-win-amd64.rar
- C语言实现ftp断点续传.rar
- FTP上传C++实现
- FTP服务器CLIENT端C语言源文件
- qt源码ftp文件上传
- 基于QT5的图形化界面开发(NeuFtp)
- 汇编:debug和masm等子程序(masm和li<
- FTP客户端源代码C语言
- Ftp客户端连接服务器(源码+可执行文
评论
共有 条评论