Articulo de referencia

leer (llamada al sistema)

En los sistemas operativos modernos compatibles con POSIX , un programa que necesita acceder a datos de un archivo almacenado en un sistema de archivos utiliza la llamada al sis...

En los sistemas operativos modernos compatibles con POSIX , un programa que necesita acceder a datos de un archivo almacenado en un sistema de archivos utiliza la llamada al sistema `read` . El archivo se identifica mediante un descriptor de archivo que normalmente se obtiene de una llamada previa a `open` . Esta llamada al sistema lee datos en bytes , cuyo número especifica el programa que realiza la llamada, y los almacena en un búfer proporcionado por dicho proceso.

La llamada al sistema de lectura toma tres argumentos:

  1. El descriptor de archivo del archivo.
  2. El búfer donde se almacenarán los datos leídos.
  3. El número de bytes que se leerán del archivo.

Uso de POSIX

La interfaz de llamada al sistema read está estandarizada por la especificación POSIX. Los datos de un archivo se leen llamando a la función read:

ssize_t leer ( int fd , void * buf , size_t count );

El valor devuelto es el número de bytes leídos (cero indica el final del archivo ) y la posición del archivo avanza en este número. No es un error si este número es menor que el número de bytes solicitados; esto puede ocurrir, por ejemplo, porque en realidad hay menos bytes disponibles en este momento (quizás porque estábamos cerca del final del archivo, o porque estamos leyendo desde una tubería o desde una terminal ), o porque la llamada al sistema fue interrumpida por una señal .

Alternativamente, se devuelve -1 cuando ocurre un error; en tal caso, errno se establece de manera apropiada y, además, no se especifica si la posición del archivo (si la hay) cambia.

Véase también

Referencias

  • Lectura POSIX
  • Logotipo de WikibooksC_Programming/C_Reference/stdio.h/fread en Wikilibros