El C miedo() es una función de biblioteca estándar que se utiliza para leer la cantidad dada de datos de una secuencia de archivos. Definida en el interior, la función fread() lee el número dado de elementos de tamaño específico del flujo de archivos y lo almacena en la memoria intermedia. El número total de bytes leídos por la función fread() es el número de elementos leídos multiplicado por el tamaño de cada elemento en bytes.
Sintaxis de C fread()
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
El indicador de posición del archivo avanza automáticamente según el número de bytes leídos. Si los objetos que se leen no se pueden copiar de manera trivial, como estructuras o tipos de datos complejos, entonces no se comporta correctamente.
Parámetros
- buffer: Se refiere al puntero al bloque de memoria buffer donde se almacenarán los datos leídos. tamaño: Se refiere al tamaño de cada elemento en bytes. count: Se refiere al conteo de elementos a leer. flujo: Se refiere al puntero al flujo del archivo.
Valor de retorno
- La función devuelve el número de elementos que se leen correctamente del archivo.
- Si el valor de retorno es menor que el recuento, significa que ocurrió un error o ha llegado al final del archivo.
- Si el valor de tamaño o recuento es cero, fread() devuelve cero y no realiza ninguna otra acción.
Nota: La función fread() en sí misma no proporciona una manera de distinguir entre fin de archivo y error; feof y ferror se pueden usar para determinar qué ocurrió.
Ejemplos de C fread()
Ejemplo 1
Los siguientes programas ilustran la función 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;> }> |
>
>
Supongamos que el archivo g4g.txt contiene los siguientes datos:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Luego, después de ejecutar el programa, la salida será
len de matriz en java
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Ejemplo 2
Este programa en C demuestra el uso de la función fread() cuando el tamaño o recuento del archivo es igual a 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;> }> |
>
>Producción
variable variable java
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, vector |
>
>Producción
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>