BaselAla Ответов: 2

Возврат функции fread


у меня есть какой-то файл для чтения, и мне нужно знать, как я могу получить данные из своего файла байт за байтом.

Что я уже пробовал:

 for(j = 0; j < 140; j = j + 7)
{
   u16BytesRead = fread(&u8Buffer, 1, 7, fp); // what is the value of u16BytesRead  here ??

   }

2 Ответов

Рейтинг:
0

OriginalGriff

Если вы хотите прочитать его байт за байтом, то измените 7 на 1:

u16BytesRead = fread(&u8Buffer, 1, 1, fp);


Если вы имеете в виду "что возвращает Фрейд?" затем посмотрите на документацию: ссылка на fread - C++ [^] что ясно говорит::
Цитата:
значение
Возвращается общее количество успешно прочитанных элементов.
Если это число отличается от параметра count, то либо произошла ошибка чтения, либо во время чтения был достигнут конец файла. В обоих случаях устанавливается соответствующий индикатор, который можно проверить с помощью феррора и феофа соответственно.
Если либо size, либо count равны нулю, функция возвращает ноль, и как состояние потока, так и содержимое, на которое указывает ptr, остаются неизменными.
size_t-это беззнаковый интегральный тип.


Но просто вызов fread в цикле вам не поможет - вы просто перепишете данные, которые Вы читаете lats time каждый раз, когда вы его вызываете.

Возможно, если вы объясните, что вы пытаетесь сделать более подробно, мы сможем помочь вам больше, но в данный момент это все, что мы можем сделать.


BaselAla

спасибо

OriginalGriff

Всегда пожалуйста!

Рейтинг:
0

Patrice T

Цитата:
мне нужно знать, как я могу получить данные из моего файла байт за байтом.
какова здесь ценность u16BytesRead ??

Когда вы в основном хотите понять, как работает стандартная функция, первое, что нужно сделать, это прочитать документацию.
ссылка на fread - C++ [^]
Фрейд ... cppreference.com[^]
C библиотечная функция fread()[^]
Документация доступна в интернете и является гораздо более полной, чем любой из наших ответов, и быстрее, чем мы.

Тогда, если вы не уверены, экспериментирование-лучший способ узнать, что есть что.
Использование отладчика также позволяет вам видеть, что происходит в вашем коде во время его выполнения.


BaselAla

спасибо