用VC++实现FTP的实验

来源(久久网络-网络学堂-网络编程)

From: http://www.99net.net/study/prog/35.htm

日期:2001.12.07 三剑侠 重庆

主题:用VC++实现FTP的实验

2003-4-10 9:35:26 陈珏

内容:

---- 在VC++的编程中,我们经常要用到一些INTERNET上面的的一些功能,比如FTP、WWW等功能。在我多年的编程过程中,总经了一些小经验,写出来与大家共享,请大家指教。我这个小程序用VC++很方便地实现了FTP功能的传送文件的功能,这只是个小的测试程序,通过这个程序还可以扩展许多功能,比如实现FTP功能中的下载文件的功能等。拨号上网后运行这个小程序,既可实现该功能。

---- 在VC++中创建一个基于对话框的应用程序,需要注意的是在创建此工程时,一定要选择Windows Sockets这一选项。创建的对话框的结构如上图,并在对话框类的文件中加入#include 头文件。然后在对话框这个类的文件中加入下列函数,此函数是敲击Send-Button按钮发生的事件,主要是完成FTP功能传送文件的功能,本程序中要传的文件应该放在本工程中,如果放在别处可稍加改动一下即可。

void CFtptestDlg::OnSendButton() {
    CString host;
    m_HostEdit.GetWindowText(host);
    //m_HostEdit是对话框中FTP Host :Edit控件的命名
    CString user;

    m_UserEdit.GetWindowText(user);
    //m_UserEdit是对话框中User:Edit控件的命名
    CString password;
    m_PasswordEdit.GetWindowText(password);
    //m_PasswordEdit是对话框中Password:Edit控件的命名
    CString filename;
    m_FileEdit.GetWindowText(filename);
    //m_FileEdit是对话中SendFile:Edit控件的命名
    TRACE(":%s:%s:%s:%s\n", host, user, password, filename);
    CInternetSession session(AfxGetApp()- >m_pszAppName);
    CFtpConnection* pConn = NULL;
    pConn = session.GetFtpConnection(host,user,password);
    if (pConn) {
        if (!pConn- >PutFile(filename,filename)){
            MessageBox("传送文件失败??");
        } else {
            MessageBox("传送文件成功!");
        }
        pConn- >Close();
        delete pConn;
        session.Close();
    } else {
        MessageBox("Cannot Connect");
    }
}


---- 这个应用程序使用中文95操作系统,在VC++5.0上开发、编译、运行通过。

Link: http://www.asm32.net/article_details.aspx?id=791


浏览次数 521 发布时间 2006/5/3 22:27:46 从属分类 网络编程 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | Python | 书签 | ASP.Net书签 | 京ICP备09029108号-1