Мне нужно прочитать двоичный файл на моем веб-сервере и отправить его клиенту через TCP. Я решил прочитать его кусками. Как мне это сделать?Чтение двоичного файла с помощью chunk в буфер памяти в C
Мой код с fgets работает только с текстовыми файлами (код, который проверяет возвращаемые значения опущен):
char buf[2048];
fgets(buf, sizeof(buf), fp);
while (!feof(fp))
{
Server_TCP_Send(socket, buf, strlen(buf));
fgets(buf, sizeof(buf), fp);
}
fclose(fp);
Не используйте 'fgets' и' strlen' для двоичных данных, поскольку они не могут обрабатывать его (из-за встроенных нулей в двоичных данных). Используйте 'read' или' fread'. – kaylum