Exporter (0) Imprimer
Développer tout
div
eof
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

fread

Lit des données à partir d'un flux.

size_t fread( 
   void *buffer,
   size_t size,
   size_t count,
   FILE *stream 
);
buffer

Emplacement de stockage des données.

size

taille d'élément en octets.

count

nombre maximal d'éléments à lire.

stream

Pointeur vers la structure d' FILE .

fread retourne le nombre d'éléments dans le effectue, qui peuvent être moins qu' count si une erreur se produit ou si la fin du fichier est produite avant countde positionnement. Utilisez la fonction d' feof ou d' ferror pour distinguer une erreur de lecture d'une condition fin de fichier. Si size ou count est 0, fread retourne 0 et le contenu de la mémoire tampon reste inchangé. si stream ou buffer est un pointeur null, fread appelle le gestionnaire de paramètre non valide, comme décrit dans Validation de paramètre. Si est autorisé à l'exécution de se poursuivre, des ensembles errno de cette fonction à EINVAL et retourne 0.

Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour plus d'informations sur ce point, ainsi que d'autres, les codes d'erreur.

La fonction d' fread lit jusqu'à count des éléments des octets d' size de l'entrée stream et les stocke dans buffer. Le pointeur de fichier associé à stream (le cas échéant) est augmenté par le nombre d'octets le effectue. Si le flux donné est ouvert en mode texte, des paires saut de ligne-retour chariot sont remplacées par les caractères unique de saut de ligne. Le remplacement n'a aucun effet sur le pointeur de fichier ou la valeur de retour. La position du pointeur de fichier est indéterminé si une erreur se produit. la valeur partiellement d'un élément de lecture ne peut pas être déterminée.

Cette fonction verrouille d'autres threads. si vous avez besoin d'une version non verrouillante, utilisez _fread_nolock.

Fonction

en-tête requis

fread

<stdio.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

// crt_fread.c
// This program opens a file named FREAD.OUT and
// writes 25 characters to the file. It then tries to open
// FREAD.OUT and read in 25 characters. If the attempt succeeds,
// the program displays the number of actual items read.
 
#include <stdio.h>

int main( void )
{
   FILE *stream;
   char list[30];
   int  i, numread, numwritten;

   // Open file in text mode:
   if( fopen_s( &stream, "fread.out", "w+t" ) == 0 )
   {
      for ( i = 0; i < 25; i++ )
         list[i] = (char)('z' - i);
      // Write 25 characters to stream 
      numwritten = fwrite( list, sizeof( char ), 25, stream );
      printf( "Wrote %d items\n", numwritten );
      fclose( stream );

   }
   else
      printf( "Problem opening the file\n" );

   if( fopen_s( &stream, "fread.out", "r+t" ) == 0 )
   {
      // Attempt to read in 25 characters 
      numread = fread( list, sizeof( char ), 25, stream );
      printf( "Number of items read = %d\n", numread );
      printf( "Contents of buffer = %.25s\n", list );
      fclose( stream );
   }
   else
      printf( "File could not be opened\n" );
}
A entré 25 éléments
Nombre d'éléments lus = 25
Contenu de la mémoire tampon = de zyxwvutsrqponmlkjihgfedcb
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.