从FTP下载文件(C++,Win32)
2006-12-03 21:35
302 查看
// testTmpMfc.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include "testTmpMfc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#include <string>
#include <iostream>
#include <afxinet.h>
#include <windows.h>
// 唯一的应用程序对象
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
...{
//Test Ftp
int nRetCode = 0;
// 初始化 MFC 并在失败时显示错误
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
...{
// TODO: 更改错误代码以符合您的需要
_tprintf(_T("致命错误: MFC 初始化失败 "));
nRetCode = 1;
}
else
...{
// TODO: 在此处为应用程序的行为编写代码。
}
string serverIPstr = "10.132.143.161";
string usrNameStr = "movie";
string usrPwStr = "movie";
string portStr = "21";
string serverFile = "/a/a.txt";
string serverPath = "/";
string localFile = "./a/a/a.txt";
CInternetSession session("Update Session");
CFtpConnection* pFtpConnection = NULL;
try
...{
pFtpConnection = session.GetFtpConnection(serverIPstr.c_str(), usrNameStr.c_str(), usrPwStr.c_str(), atoi(portStr.c_str()));
if (pFtpConnection == NULL)
return false;
BOOL b = pFtpConnection->SetCurrentDirectory(serverPath.c_str());
if (b == FALSE)
...{
AfxMessageBox("set current dir error");
return false;
}
//创建目录
CreateDirectory("./a/a/",NULL);
//检查并删除文件
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
hFind = FindFirstFile( localFile.c_str(), &FindFileData );
if (hFind != INVALID_HANDLE_VALUE)
...{
DeleteFile( localFile.c_str() );
cout << "find such a file" << endl;
FindClose(hFind);
}
b = pFtpConnection->GetFile(serverFile.c_str(), localFile.c_str());
if (b == FALSE)
...{
int error = GetLastError();
CString strError;
strError.Format("download file error: %d", error);
AfxMessageBox(strError);
pFtpConnection->Close();
return false;
}
pFtpConnection->Close();
}catch (CInternetException* pEx)...{
TCHAR sz[1024];
pEx->GetErrorMessage(sz, 1024);
printf("ERROR! %s ", sz);
pEx->Delete();
return false;
}
return nRetCode;
}
相关文章推荐
- Win32的Winnet操作:http的post、get请求、下载文件,ftp的上传、下载
- FTP文件上传与下载
- 【FTP】批处理下载FTP服务器上指定分钟数之前的文件
- FTP文件上传与下载
- 用FTP工具快速下载主机文件(转载)
- FTP文件上传下载(1)
- 访问FTP站点下载文件,提示“当前的安全设置不允许从该位置下载文件”
- SpringMvc下载ftp上的文件并以静态形式展示
- java代码实现从ftp上下载文件
- C语言自动下载ftp文件程序
- Ftp上传下载文件,并能自定义进度条展示(FtpClient)
- c++ 使用socket实现C/S端文件的下载传输
- 不用FTP使用SecureCRT上传下载文件,并解决rz、sz command not found异常
- linux下常用FTP命令 上传下载文件
- FTP 工具类. 可以完成对目录创建的创建、修改、删除,对文件的上传下载等操作
- ftp下载目录下所有文件及文件夹内(递归)
- VC++/MFC怎么实现局域网里下载FTP服务器上的文件?
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- ftp下载文件
- 不能下载特定格式的文件ftp等等