Вот пытаюсь получить от фтп сервера файл. Файл загружается но достаточно часто размер загруженного файла не совпадает с размером исходного. Размер загруженного больше на один байт. Самое странное, что это проявляется не всегда. Я проверил это дело на видеоклипах и обычных исполняемых бинарных файлах, они спокойно работают. Судя по всему лишний байт записывается в конец файла... Не могу понять где я накосячил. То ли в записи в файл, толи в приеме данных с сервера. вот сорцы того участка кода где затаилась бага:
FILE *fd;
fd = fopen("/tmp/file","wb");
fseek(fd,0L,0);
void *buf[1];
int rc;
while(rc)
{
rc=recv(bindatasock, buf, sizeof(buf), 0);
if(rc>0) fwrite(buf, sizeof(buf), 1,fd);
}
Буду рад любой помощи :)