你先参考CFileFind类,一样的,
调用FindFile方法后还要调用FindNext方法!明白了么?

解决方案 »

  1.   

    没用的,我有不取 文件的 URL 还要 FindNext 吗?
    另外,有意思的是 CFtpFileFind ftpfind2( connection );
            BOOL IsFilehq = ftpfind.FindFile( "abc.exe" );
    IsFilehq 返回的是1,加入在创建一个
     CFtpFileFind ftpfind2( connection );
            BOOL IsFilehq = ftpfind.FindFile( "abc.exe" );
    不管怎样,IsFilehq 老是返回 0 ,真是完蛋了。
      

  2.   

    你看看下边例子,我没有遇到你说的问题。
    CFtpFileFind finder(ftp_connection);
    BOOL bWorking = finder.FindFile("*");
    BOOL found=FALSE,foundfile=FALSE;
    while (bWorking)
       {
       bWorking = finder.FindNextFile();
    if(finder.IsDirectory())
    {
     if(strcmp(compare,finder.GetFileName())==0)
     {
    found = TRUE;
    break;
     }
    }
    else
    {
     if(strcmp(compare,finder.GetFileName())==0)
     {
    found=TRUE;
    foundfile=TRUE;
    file_filepath = finder.GetFilePath();
    file_filename= finder.GetFileName();
    file_root =finder.GetRoot();
    file_fileurl = finder.GetFileURL();
    break;
     }

    }

    }
    finder.Close();
      

  3.   

    哈,我似乎已经找到了一个解决好方法,在通常的情况下,调用 FindNext()函数是为了如GetFileURL().GetFileName()等函数服务的,但是调用 FindFile()函数里如果是文件全名字的话,将得不到正常的结果,如 FindFile( "abc.exe" ),这样子调用,它的返回值几乎是随机数,但是如果这样子的话 FindFile( "abc.*" ) 这样就可以得到正常的返回值了,我也是感到好奇怪,为什么会是这样呢?幸好我需要的文件在服务上文件名字是唯一的,我就不管扩展名了,
    向您上面的程序那段话 BOOL bWorking = finder.FindFile("*"); 假如 finder.FindFile("*"); 里是一个文件的名字的话,那后面的程序编没法工作了。
        
    本人信誉良好,现在给分。