CInternetSession session("MY FTP Session");
CFtpConnection* pConn=NULL;
pConn=session.GetFtpConnection(lpsn,lpun,lppw,np);
pConn->GetFile(prf,plf);有人知道上面几句的意思吗?!知道请解释一下!
我的目的是要从FTP服务器上下载一些文件,然后把原文件删除!
假设:FTP 服务器上的文件存放在d://share//*.dat
我要下载到本地c://file//*.dat
该如何做,请大家赐教!!!

解决方案 »

  1.   

    CInternetSession session("MY FTP Session");//  每个Ftp连接都需要一个InternetSession任务实例,你要建Http连接也一样,CFtpConnection* pConn=NULL;pConn=session.GetFtpConnection(lpsn,lpun,lppw,np);//创建一个Ftp连接对象
    lpsn是服务名字,你的Ftp服务器IP或机器名都可以,
    lpun用户名,lppw是密码,np是端口pConn->GetFile(prf,plf); //下载文件到本地,,plf是本地文件路径。你要删除远程文件用 CFtpConnection类中的remove函数。
    如pConn->Remove( prf );//CFtpConnection
    FTP的文件路径和本地文件系统的目录不太一样,他以Ftp主目录为更目录。
      

  2.   

    CInternetSession session;
    CFtpConnection* pConn=NULL;
    pConn=session.GetFtpConnection("192.168.0.130","",",21);
    CFtpFileFind  ftpFind(pConn); 
    BOOL ftpfind= ftpFind.FindFile("\\put\\*.dat");
    while(ftpfind)
    {
    ftpfind=ftpFind.FindNextFile();
    CString ftpName;
    ftpName=ftpFind.GetFileName();
    char prf[80]="\\put\\";
    char plf[80]="c:\\datainfro\\file\\";
    strcat(prf,ftpName);
    strcat(plf,ftpName);
    pConn->GetFile(prf,plf);
    BOOL pc=pConn->Remove(plf);
    pConn->Close();
    session.Close();
    }
    程序执行到BOOL pc=pConn->Remove(plf); 返回始终是0,不能删除,不知道为什么,请大家帮忙看看。
      

  3.   

    需要FTP服务器给你的用户开放删除权限, 一般来说,是不会给匿名用户开放删除权限的
      

  4.   

    程序里有密码,我发布的时候删了,是不是还需要去FTP服务器上去设置一下!
      

  5.   

    你可以改FTP服务器让他匿名开放删除权限,也可能加入一个用户,让这个用户可以删除
    例如:加入用户admin,密码:123
    改你的程序
    pConn=session.GetFtpConnection("192.168.0.130","admin","123",21);这样就可能即有删除的权限了
      

  6.   

    CInternetSession session;
    CFtpConnection* pConn=NULL;
    pConn=session.GetFtpConnection("192.168.0.130","",",21);
    CFtpFileFind ftpFind(pConn);
    BOOL ftpfind= ftpFind.FindFile("\\put\\*.dat");
     
    根据你的代码判断肯定是FTP服务器的权限问题!!!