资源简介
非常好用的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
相关资源
- 合泰触摸单片机BS84B08C实际应用代码上
- FTP客户端源码(c++)
- ftp工具代码
- c++实现的文件上传服务器
- VC++完整商业界面源码(再上传)
- 用C++写的FTP客户端
- Vassistx for VS2008
- 网络编程MFC 实验四 FTP客户端功能实现
- MFC 实现FTP客户端的上传断点续传
- BT协议实现c++
- 多线程
- MFC课设代码(扫雷游戏
- 计算机网络课程实验:FTP协议的实现
- C++ FTP 源码
- FTP客户端VC实现
- C++做的Ftp服务器
- c++ ftp文件传输
- MFC实现FTP上传文件的客户端和服务器
- libstdc++.so.6.0.20下载138485
- 课设FTPwinsock
- c源码与c++各种小程序源码
- FTP客户端基本功能C++
- VC++ ftp 服务器客户端毕业设计源码
- matcom4.5
- FTP客户端与服务器的MFC实现
- 计算机网络课程设计农大socket实现F
- C语言实现基于winsock的ftp客户端程序
- 支持多线程和断点续传的FTP客户端
- VC++文件仿搜狗
- 用VC++写的小型FTP服务器源代码
评论
共有 条评论