La función fread() en C++ lee el bloque de datos del flujo. Esta función primero lee el número de conteo de objetos, cada uno con un tamaño de tamaño de bytes del flujo de entrada dado.
La cantidad total de lecturas de bytes si se realiza correctamente es (tamaño*recuento). Según el nro. de caracteres leídos, la posición del archivo indicador se incrementa. Si los objetos leídos no se pueden copiar trivialmente, entonces el comportamiento no está definido y si el valor de tamaño o recuento es igual a cero, entonces este programa simplemente devolverá 0.
Sintaxis:
size_t fread(void * buffer, size_t size, size_t count, FILE * stream)
Parámetro: la función acepta cuatro parámetros obligatorios que se describen a continuación:
- buffer: especifica el puntero al bloque de memoria con un tamaño de al menos (tamaño*recuento) bytes para almacenar los objetos.
- tamaño: especifica el tamaño de cada objeto en bytes. size_t es un tipo integral sin signo.
- count: especifica el número de elementos, cada uno con un tamaño de bytes de tamaño.
- flujo: especifica el flujo de archivo para leer los datos.
Valor devuelto: la función devuelve el número de objetos leídos con éxito. Si ocurre un error, el valor de retorno puede ser menor que el conteo.
Los siguientes programas ilustran la función anterior:
Programa 1:
CPP
// C++ program to illustrate fread() function #include <bits/stdc++.h> #include <cstdio> using namespace std; int main() { FILE* file_; char buffer[100]; file_ = fopen("g4g.txt", "aman"); while (!feof(file_)) // to read file { // function used to read the contents of file fread(buffer, sizeof(buffer), 1, file_); cout << buffer; } return 0; }
Supongamos que el archivo g4g.txt contiene los siguientes datos:
Geeks : DS-ALgo Gfg : DP Contribute : writearticle
Luego, cuando ejecute el programa, la salida será
Harry Potter : Specs Hermione : Smart Weasley : FlyingCar Dumbledore : Wand
Programa 2:
CPP
// C++ program to illustrate fread() function // when file's size or count is equal to 0 #include <bits/stdc++.h> #include <cstdio> using namespace std; int main() { FILE* file_; char buffer[100]; file_ = fopen("g4g.txt", "aman"); cout << "count = 0, return value = " << fread(buffer, sizeof(buffer), 0, file_); cout << "\nsize = 0, return value = " << fread(buffer, 0, 1, file_) << endl; return 0; }
count = 0, return value = 0 size = 0, return value = 0
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA