The C fread() це стандартна функція бібліотеки, яка використовується для читання заданого обсягу даних із потоку файлів. Функція fread(), визначена всередині, зчитує задану кількість елементів певного розміру з потоку файлів і зберігає їх у буферній пам’яті. Загальна кількість байтів, прочитаних функцією fread(), — це кількість прочитаних елементів, помножена на розмір кожного елемента в байтах.
Синтаксис C fread()
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
Індикатор позиції файлу автоматично пересувається вперед на кількість прочитаних байтів. Якщо об’єкти, які зчитуються, не можна просто копіювати, наприклад структури або складні типи даних, тоді він не поводиться належним чином.
Параметри
- буфер: Посилається на вказівник на блок буферної пам’яті, де будуть зберігатися зчитані дані. розмір: стосується розміру кожного елемента в байтах. count: це стосується кількості елементів для читання. потік: посилається на вказівник на потік файлу.
Повернене значення
- Функція повертає кількість елементів, які успішно прочитано з файлу.
- Якщо повернене значення менше, ніж кількість, це означає, що сталася помилка або він досяг кінця файлу.
- Якщо значення size або count дорівнює нулю, fread() повертає нуль і не виконує жодних інших дій.
Примітка: Сама функція fread() не надає способу відрізнити кінець файлу від помилки, feof і ferror можна використовувати, щоб визначити, що сталося.
Приклади C fread()
Приклад 1
Наведені нижче програми ілюструють функцію fread().
C
// C program to illustrate fread() function> #include> int> main()> {> >// File pointer> >FILE>* filePointer;> >// Buffer to store the read data> >char> buffer[100];> >// 'g4g.txt' file is opened in read mode> >filePointer =>fopen>(>'g4g.txt'>,>'r'>);> > >// Data is read from the file into the buffer> >// sizeof(buffer) specifies the size of each element to> >// be read 1 is the number of elements to read> >// filePointer is the file to read from> >while> (!>feof>(filePointer)) {> >fread>(buffer,>sizeof>(buffer), 1, filePointer);> >// Print the read data> >printf>(>'%s'>, buffer);> >}> >fclose>(filePointer);> >return> 0;> }> |
>
>
Припустимо, файл g4g.txt містить такі дані:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Тоді, після запуску програми, вихід буде
кнопка в центрі css
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Приклад 2
Ця програма на C демонструє використання функції fread(), коли розмір або кількість файлів дорівнює 0.
C
// C program to illustrate fread() function> // when size of the file or the value of count is equal to 0> #include> int> main()> {> >// File pointer> >FILE>* filePointer;> >// Buffer to store the read data> >char> buffer[100];> >// 'g4g.txt' file is opened in read mode> >filePointer =>fopen>(>'g4g.txt'>,>'r'>);> >// Case when count is equal to 0> >printf>(>'count = 0, return value = %zu
'>,> >fread>(buffer,>sizeof>(buffer), 0, filePointer));> >// Case when size is equal to 0> >printf>(>'size = 0, return value = %zu
'>,> >fread>(buffer, 0, 1, filePointer));> >return> 0;> }> |
>
як перейменувати каталог в linux
>Вихід
count = 0, return value = 0 size = 0, return value = 0>
C++
// C++ program to illustrate the vector container> #include> #include> using> namespace> std;> int> main()> {> >// 1d vector with initialization list> >vector<>int>>v1 = { 1, 2, 3, 4, 5 };> >// 2d vector with size and element value initialization> >vectorint>> v2(3, вектор |
>
>Вихід
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>