Работа с функцией fread в языке Си
Функция fread() в языке программирования C используется для чтения блока данных из указанного потока. Эта функция читает указанное количество байтов из файла и возвращает количество реально прочитанных байтов.
Синтаксис функции выглядит следующим образом:
c
size_t fread(void *buf, size_t size, size_t count, FILE *stream);
Аргументы функции:
- buf: указатель на блок памяти, в котором будут храниться прочитанные данные.
- size: размер каждого элемента в байтах, которые будут считываться.
- count: количество элементов, которые будут считываться.
- stream: указатель на структуру FILE, для которой будут считаны данные.
Рассмотрим пример использования функции fread():
c
#include
int main() {
FILE* fp = fopen("file.txt", "rb"); // открытие файла на чтение
if (fp == NULL) {
printf("Ошибка открытия файла");
return 1; // проверка на ошибку открытия файла
}
char buffer[50]; // создание буфера для чтения
size_t bytesRead = fread(buffer, sizeof(char), 50, fp); // чтение 50 символов из файла
printf("Прочитано %zu символов\n", bytesRead); // вывод количества прочитанных символов
printf("Прочитанный текст: \n%s", buffer); //~ text\nfooter
fclose(fp); // закрытие файла
return 0; // успешное завершение программы
}
В данном примере мы открываем файл "file.txt" на чтение в бинарном режиме и проверяем на ошибку открытия. Затем мы создаем буфер buffer размером в 50 байт и используем функцию fread() для чтения 50 символов из файла в буфер. Функция возвращает количество фактически прочитанных байтов, которое мы выводим в консоль. Наконец, мы выводим содержимое буфера в консоль и закрываем файл.
Вывод программы:
Прочитано 11 символов
Прочитанный текст:
text
footer
Таким образом, функция fread() позволяет читать данные из файла в блоки памяти в языке программирования C.