Le C fread() est une fonction de bibliothèque standard utilisée pour lire la quantité donnée de données à partir d'un flux de fichiers. Définie à l'intérieur de , la fonction fread() lit le nombre donné d'éléments de taille spécifique dans le flux de fichiers et le stocke dans la mémoire tampon. Le nombre total d'octets lus par la fonction fread() est le nombre d'éléments lus multiplié par la taille de chaque élément en octets.
Syntaxe de C fread()
size_t fread (void * buffer , size_t size , size_t count , FILE * stream );>
L'indicateur de position du fichier est automatiquement avancé du nombre d'octets lus. Si les objets en cours de lecture ne peuvent pas être copiés de manière triviale, comme des structures ou des types de données complexes, alors ils ne se comportent pas correctement.
Paramètres
- buffer : Il fait référence au pointeur vers le bloc de mémoire tampon où les données lues seront stockées. size : Il fait référence à la taille de chaque élément en octets. count : Il fait référence au nombre d’éléments à lire. stream : il fait référence au pointeur vers le flux de fichiers.
Valeur de retour
- La fonction renvoie le nombre d'éléments lus avec succès à partir du fichier.
- Si la valeur de retour est inférieure au nombre, cela signifie qu'une erreur s'est produite ou qu'elle a atteint la fin du fichier.
- Si la valeur de size ou count est nulle, fread() renvoie zéro et n'effectue aucune autre action.
Note: La fonction fread() elle-même ne fournit pas de moyen de faire la distinction entre la fin du fichier et l'erreur, feof et ferror peuvent être utilisés pour déterminer ce qui s'est produit.
Exemples de C fread()
Exemple 1
Les programmes ci-dessous illustrent la fonction 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;> }> |
>
>
Supposons que le fichier g4g.txt contienne les données suivantes :
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Ensuite, après avoir exécuté le programme, la sortie sera
cadre tkinter
Geeks : DS-ALgo Gfg : DP Contribute : writearticle>
Exemple 2
Ce programme C montre l'utilisation de la fonction fread() lorsque la taille ou le nombre du fichier est égal à 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;> }> |
>
>Sortir
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, vecteur |
>
>Sortir
trier une liste de tableaux java
v1: 1 2 3 4 5 6 v2: 1 2 3 4 6 v2:- 5 5 5 5 5 5 5 5 5>