РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
522 of 815 menu

Функция fread

Функция fread читает данные из файла, открытого с помощью fopen, в буфер. Первым параметром функция принимает указатель на буфер, куда будут записаны прочитанные данные, вторым - размер одного элемента в байтах, третьим - количество элементов для чтения, а четвёртым - указатель на структуру FILE, связанную с файлом. Функция возвращает количество успешно прочитанных элементов. Если достигнут конец файла или произошла ошибка, возвращаемое значение может быть меньше запрошенного.

Синтаксис

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

Пример

Давайте создадим файл, запишем в него строку "abcde", а затем прочитаем её с помощью функции fread в буфер и выведем результат:

#include <iostream> #include <cstdio> using namespace std; int main() { FILE *file = fopen("test.txt", "w"); fputs("abcde", file); fclose(file); file = fopen("test.txt", "r"); char buf[6] = {0}; size_t res = fread(buf, sizeof(char), 5, file); fclose(file); cout << buf << endl; cout << res << endl; return 0; }

Результат выполнения кода:

"abcde" 5

Пример

Давайте прочитаем из файла меньше данных, чем в нём содержится, и проверим возвращаемое значение функции:

#include <iostream> #include <cstdio> using namespace std; int main() { FILE *file = fopen("test.txt", "w"); fputs("12345", file); fclose(file); file = fopen("test.txt", "r"); char buf[4] = {0}; size_t res = fread(buf, sizeof(char), 3, file); fclose(file); cout << buf << endl; cout << res << endl; return 0; }

Результат выполнения кода:

123 3

Смотрите также

  • функция fopen,
    которая открывает файл
  • функция fclose,
    которая закрывает файл
  • функция fwrite,
    которая записывает данные в файл
  • функция fscanf,
    которая читает форматированные данные из файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить