Скачивание файла с FTP сервера

391
19 декабря 2016, 20:08

Добрый вечер! Помогите понять почему не скачивается файл с FTP сервера... Что делаю:

sending("RETR f.xxx\r\n",S);
    readServ(S);
    getfile(DATA);
....
void getfile(SOCKET ds){
    char file[65536];
    int num;
    while(num=recv(ds, file,sizeof(file),1)>0){
        stream<<file;
        for(int i=0; i<65536; i++)
            file[i]='\0';
    }   
}

num=0, Что не так? При отправке RETR сервер присылает размер файла... Список файлов-каталогов принимаю по SOCKET ds, почему не приходит файл?

UPD

Не помогло:

void getfile(SOCKET ds){
    char file[65536];
    memset(file,'\0',65536);
    int num=0;
    unsigned int k=0;
    while(num=recv(ds, &file[0], sizeof(file),0)!=-1){
        if(num<0){
            cout<<"Error\n";
            break;
        }
        stream<<file;
        memset(file,'\0',sizeof(file));
        k+=num;file[num]='\0';
        cout<<"Recieved "<<k<<" bytes\n";
        if(k>100) break;
        }   
    }
....
в main
        stream.open("fff.avi",ios::out | ios::binary | ios::trunc);
        if(!stream){

            cout<<"Error open\n";
                getch();
                return 0;
            }
...
sending("RETR Файл.ххх\r\n",S);
    readServ(S);
    Sleep(2000);
    getfile(DATA);

    closesocket(S);  ///закрытие соединения
    closesocket(DATA); 
    WSACleanup();
    stream.close();
    getch();
READ ALSO
Запись в файл на С++ результатов запроса к postgres базе

Запись в файл на С++ результатов запроса к postgres базе

Производится чтение из базы даннных слов и имен файлов (которые содержат эти слова) и запись их в текстовый файл в следующем формате: файл...

301
Подскажите пожалуйста с чем может быть связана ошибка при пересылке данных?

Подскажите пожалуйста с чем может быть связана ошибка при пересылке данных?

Разрабатываю клиент серверное приложение и в нем возникает ошибка при пересылке данныхЗаключается она в следующем:

301
Работа со стеком №2

Работа со стеком №2

Получив ответ на свой вопрос, я сел записывать решениеНо вот в этой части кода выскакивает ошибка: Value of type void is not allowed

298
_tmain() почему такое название?

_tmain() почему такое название?

Почему такое имя дает VS, исполняющей функции, в консольном приложении?

273