Exportar (0) Imprimir
Expandir todo
div
EOF
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

fread

Lee los datos de una secuencia.

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

buffer

Ubicación de almacenamiento de los datos.

size

Tamaño del elemento en bytes.

count

Número máximo de elementos que se va a leer.

stream

puntero a la estructura de FILE .

fread devuelve el número de elementos completos lee realmente, que pueden ser menor que count si se produce un error o si el final del archivo se encuentra antes de countque consiga. Utilice la función de feof o de ferror para distinguir un error de una condición de fin de archivo. Si size o count es 0, fread devuelve 0 y el contenido del búfer no se modifican. Si stream o buffer es un puntero NULL, fread invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, conjuntos errno de esta función a EINVAL y devuelven 0.

Vea _doserrno, errno, _sys_errlist, y _sys_nerr para obtener más información al respecto, y otro, códigos de error.

La función de fread lee hasta count elementos de bytes de size de entrada stream y los almacena en buffer. El puntero de archivo asociado a stream (si hay alguno) es aumentado por el número de bytes leídos realmente. Si la secuencia especificada se abre en modo de texto, los pares de retorno-avance de línea de carro se reemplazan por los únicos caracteres de avance de línea. El reemplazo no tiene ningún efecto en el puntero de archivo o el valor devuelto. La posición del archivo-puntero es indeterminado si se produce un error. El valor de un elemento de lectura no se puede determinar parcialmente.

Esta función bloquea out otros subprocesos. Si necesita una versión de modificación limitada de interpretación, utilice _fread_nolock.

Función

Encabezado necesario

fread

<stdio.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

// 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" );
}
escribió 25 elementos
número de elementos leídos = 25
Contenido del búfer = de zyxwvutsrqponmlkjihgfedcb

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft