2

当我测试以下代码时,我发现“FtpFindFirstFile”中的“data.cFileName”是“。” 在某些 ftp 和其他 ftp 上,它是一个实际文件名。在第二种情况下,“InternetFindNextFile”以第二个文件开头。我只想知道为什么会发生这种情况?谢谢!

if(hConnect){
            cout<<"begin transfer……"<<endl;
            find=::FtpFindFirstFile(hConnect,ftpDir,&data,INTERNET_FLAG_RELOAD,0);
            cout<<"begin?-->"<<data.cFileName<<endl;
            while(::InternetFindNextFile(find,&data)){
                CString tempFtp=ftpDir;
                CString tempLocal=localDir;
                cout<<"file:"<<data.cFileName<<endl;
                //dirArray.SetSize(10);
                /*
                if(data.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY){
                    cout<<"filename:"<<data.cFileName<<";"<<endl;
                    if(CString(data.cFileName).Find("..")<0){
                        cout<<"folder:"<<data.cFileName<<";"<<endl;
                    }
                }else{
                    //this->checkMakePath(tempLocal);
                    tempFtp.Append(data.cFileName);
                    tempLocal.Append(data.cFileName);
                    cout<<"file:"<<tempLocal<<endl;
                    //::FtpGetFile(hConnect,tempFtp,tempLocal,false,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_BINARY,0);
                }*/
            }
        }
4

0 回答 0