C: чтение данных из файла с помощью fread ()

В C функция fread () используется для чтения данных из файла и сохранения их в буфере.

  size_t fread (void * buffer, size_t size, size_t count, FILE * stream) 

Параметры

fread () принимает ряд параметров. Давайте подробно рассмотрим каждый из них:

  • Buffer: Указатель на буфер, в котором будут храниться данные. Буфер — это область памяти, используемая для временного хранения данных.
  • Размер: размер каждого считываемого элемента в байтах
  • Count: количество элементов для чтения.
  • Stream: указатель на объект FILE, откуда должны быть прочитаны данные

Возвращаемое значение

После успешного выполнения функция возвращает целочисленное значение, эквивалентное count . В случае ошибки или EOF возвращается значение меньше count .

Пример

Давайте рассмотрим несколько примеров, чтобы увидеть, как работает функция fread () !

1. Чтение строки из файла

main.c
file.txt
 #include  int main () {char buffer [20]; //Буфер для хранения данных FILE * stream;  stream = fopen ("файл.txt", "г");  int count = fread (& буфер, sizeof (char), 20, stream);  fclose (поток); //Печать данных для проверки правильности printf ("Данные читаются из файла:% s  n", буфер);  printf ("Элементы прочитаны:% d", count);  return 0;} 

2. Чтение целочисленного значения из файла

 #include  int main () {int буфер;  int store = 1234; //Создание файла и сохранение значения типа int FILE * stream;  stream = fopen ("файл.txt", "ш");  fwrite (& store, sizeof (int), 1, stream);  fclose (поток); //Чтение значения из файла stream = fopen ("file.txt", "r");  fread (& буфер, размер (целое), 1, поток);  printf ("Показатель чтения:% d  n", буфер);  fclose (поток);  return (0);} 

3. Чтение нескольких значений из файла

Если вы хотите прочитать данные из файла, содержащего несколько строк данных, мы можем поступить следующим образом:

main.c
file.txt
 #include  int  main () {буфер символов [50]; //Буфер для хранения данных FILE * stream;  stream = fopen ("файл.txt", "г");  int count = fread (& буфер, sizeof (char), 30, stream);  fclose (поток); //Печать данных для проверки правильности printf ("Данные читаются из файла:% s  n", буфер);  printf ("Элементы прочитаны:% d", count);  return 0;} 

Оцените статью
nanomode.ru
Добавить комментарий