Leer el sistema Llame en C

Leer el sistema Llame en C

Una llamada del sistema es un método para que el software se comunique con el sistema operativo. Cuando el software realiza una llamada del sistema, envía la solicitud al núcleo del sistema operativo. Para leer mediante un descriptor de archivo, puede usar la función de sistema Read (). Cada proceso tiene su tabla de descriptores de archivos personales en el sistema operativo. La única diferencia entre Read () y Write () es que Read () lee datos del archivo mencionado por el descriptor del archivo. El tiempo de lectura para el archivo se actualiza después de una lectura exitosa ().

Sintaxis

# ssize_t read (int fd, const void *buf, size_t count);

El descriptor del archivo es el primer argumento. El búfer es el segundo argumento. Finalmente, la tercera opción especifica cuántos bytes considera leer. Bytes es solo el volumen de datos para copiar, y el búfer es la dirección del espacio de memoria donde se deben escribir datos. El resultado de retorno representa la cantidad de datos escritos en bytes; Si varía de bytes, algo parece estar mal. Si el valor es negativo, la llamada del sistema abortará.

Requisitos previos

El compilador GCC es necesario para compilar el código que contiene una llamada del sistema Read (). Para ejecutar y ensamblar el código de idioma C, necesitaremos instalar un paquete de compilador en nuestra máquina. Entonces, también necesitaremos instalar el compilador GCC. Puede instalarlo con el comando presentado a continuación en un terminal de Linux, como se muestra a continuación. Se instalará en solo unos momentos, y podrá simplemente escribir y ejecutar códigos C en archivos.

Al presionar la tecla ENTER, se instalará el compilador GCC. Tomará unos momentos antes de pedirte que digas que sí o no. Si elige que sí, comenzará a evaluar la salida del compilador GCC. Utilice las instrucciones a continuación para instalar GCC en su sistema.

$ sudo apt install gcc

Primer ejemplo de read () llamada del sistema en c

Comencemos con Read () para obtener una mejor comprensión de ello. Primero, debe usar el editor GNU de Shell para generar un archivo de tipo C. Intente ejecutar la consulta simple a continuación en la terminal para este.

$ nano read1.C

Tomará un poco de tiempo el comando mencionado anteriormente, pero una vez que lo haga, podrá usarlo inmediatamente. Lanza tu ubuntu 20.Editor de GNU de 04 de inmediato. El editor GNU aparecerá como se muestra en la imagen adjunta a continuación. Ahora, escriba el código que se muestra en el editor.

La llamada del sistema Read () recibe la entrada del usuario del teclado que es el descriptor de archivo como 0 y lo pone en el buffer "Buff", que es solo una matriz de personajes. Solo puede leer hasta 10 bytes a la vez. Solo se leerán las primeras 10 letras, independientemente de cuánto ingrese el usuario. Por último, utilizando la llamada del sistema Write (), los datos se muestran en la ventana.

En la pantalla, imprime los mismos 10 bytes que desde el búfer desde el descriptor del archivo 1. Ahora debe compilar el código que se muestra arriba. Necesitamos usar el compilador GCC para la compilación de código. Para compilar el "Read1.Archivo C ", ejecute el comando GCC a continuación. Regrese a la consola y escriba el comando:

$ GCC Read1.C

Ahora, debemos ejecutar este código usando el./a.Out Command en la terminal como se ve a continuación.

ps ./a.afuera

Según el programa, la salida se muestra en la captura de pantalla atacada anteriormente.

Segundo ejemplo de read () llamada del sistema en c

No puede predecir cuánto ingresaría el usuario como entrada. Como resultado, el tercer argumento al sistema Write () no se puede utilizar para proporcionar los bytes correctos. El resultado puede diferir de lo que esperaba. Tenga en cuenta lo que lee () regresa si tiene éxito. Para demostrar este concepto, estamos ejecutando este ejemplo. Ahora use nuevamente el editor GNU del shell para generar un archivo de tipo C. Intente ejecutar la consulta simple a continuación en la terminal para este.

$ Nano Read.C

Tomará un poco de tiempo el comando mencionado anteriormente, pero una vez que lo haga, podrá usarlo inmediatamente. Lanza tu ubuntu 20.Editor de GNU de 04 de inmediato. El editor GNU aparecerá como se muestra en la imagen adjunta a continuación. Ahora, escriba el código que se muestra en el editor.

En este código, utilizamos la variable NEAD para contener el número de bytes que leen la llamada del sistema Read () en C, y usamos la variable en Write () para mostrar la misma cantidad de bytes en la ventana. Ahora debe compilar el código que se muestra arriba.

Necesitamos usar el compilador GCC para la compilación de código. Para compilar el "Leer.Archivo C ", ejecute el comando GCC a continuación. Regrese a la consola y escriba el comando:

$ GCC Leer.C

Una vez que se compila el código, ejecute este código usando el ./a.Out Command en la terminal, como se ve a continuación.

ps ./a.afuera

Según el programa, la salida se muestra en la captura de pantalla atacada anteriormente.

Conclusión

Para comprender el concepto de la llamada del sistema Read () en Ubuntu, hemos explorado algunos ejemplos simples y lineales en C. También hemos cubierto cómo configurar el compilador GCC para la compilación de código. Espero que ahora pueda simplemente usar la llamada del sistema Read () para construir su código en Ubuntu 20.04.