Función Fgets() en C

El título de este artículo hace poco para aclarar el propósito de usar la función fgets en C. La función fgets() en C está diseñada principalmente para tomar la entrada de datos de un usuario o un archivo similar a un flujo de entrada y mostrarlo en la consola de salida. . Para mostrar la entrada de un usuario en la consola, necesitamos tener un búfer o una matriz donde podamos almacenar esa entrada. Esta característica nos permite limitar la cantidad de caracteres para mostrar desde un flujo de entrada y evitar mostrar datos en exceso y mostrar solo los necesarios. Esta guía cubre algunos ejemplos de C para explicar en detalle cómo usar la función fgets(). La actualización del sistema es imprescindible antes de realizar cualquier tipo de codificación, ya que se encarga de todos los problemas relacionados con la memoria y hace que su sistema sea completamente funcional. Por lo tanto, la palabra clave "actualizar" con la utilidad "apt" y el derecho "sudo" es imprescindible. Después de agregar esta consulta a su shell de Linux, requerirá el código de acceso de un usuario que haya iniciado sesión actualmente.

Si un compilador de C ya está configurado en el sistema Linux, no necesita agregarlo nuevamente. Si no está configurado, tendrá problemas para ejecutar el código. Por lo tanto, instálelo utilizando la utilidad "apt" dentro de la instrucción "install" seguida del nombre de la utilidad "gcc".

Antes de echar un vistazo más de cerca al ejemplo de C para la función fgets, necesitamos crear un archivo "c". El archivo fgets.c que creamos se puede ver en la lista de archivos y carpetas del directorio "inicio" actual después de usar la consulta "ls" después de crearlo con la consulta "toque".

Después de que el archivo se haya creado con éxito, lo abrimos en el editor "GNU Nano" de Linux. Así que probamos el comando que se muestra en el shell.

Ejemplo 1:

Ejecutamos el primer ejemplo de C para usar la función fgets para obtener los datos de entrada del usuario en tiempo de ejecución y mostrar un rango específico de caracteres en el shell. Aquí está el código C utilizado para obtener los datos de un usuario. Este código usa el encabezado de entrada/salida estándar para usar los flujos de entrada y salida estándar como stdio.h. Antes de usar la función main(), definamos una variable MAX con un valor de 20 que se usará como rango. El método main() se usa aquí para la funcionalidad general. Se declara la matriz de tipo de caracteres "A" de tamaño "MAX" y se usa la función printf() de C para mostrar la cadena "Entrada:" en el shell para pedirle al usuario que ingrese. La función fgets() de C se llama aquí, pasándole una matriz "A", una variable MAX y una salida de entrada estándar "stdin" como argumentos para obtener la entrada de un usuario. Esta entrada se almacena en la matriz "A" hasta la longitud "MAX". Se guardan un total de 20 caracteres y el resto se descarta. La instrucción printf() luego usa la matriz "A" para mostrar esos 20 caracteres de la entrada. La declaración return 0 sale del programa sin problemas después de la ejecución. Guárdelo antes de la ejecución de este código. #incluir #define MAX 20int principal() { char A[MAX];printf("Entrada: ");fgets(A, MAX, stdin);printf("Datos: %s\n", A);return 0;}

Después de guardar nuestro código de función C fgets() en su archivo, salimos del editor "nano" con "Ctrl+X" y aplicamos el comando "gcc" al archivo "fgets.c" para compilarlos. Como no pasó nada, intentamos ejecutar el programa con la consulta "./a.out". La cadena "Entrada" apareció junto con el área de texto para obtener información nuestra.

Agregamos una sola línea de más de 30 caracteres y presionamos firmemente la tecla "Enter". Los datos introducidos se muestran hasta los primeros 20 caracteres y el resto se descarta.

Ejemplo 2:

En nuestra nueva ilustración de C, demostramos el uso de la función fgets() para obtener los datos de texto del flujo del archivo de entrada y mostrarlos en la consola. Por lo tanto, la estructura principal de este código es muy similar al ejemplo anterior. La función main() comienza declarando un descriptor de archivo de tipo puntero "f" usando el objeto ARCHIVO integrado. Se declara la matriz de tipo de carácter "A" de tamaño 30 y se llama a la función C fopen() para leer el flujo de entrada "fgets.txt" del sistema. El valor devuelto se almacena en el descriptor de archivo NULL. La declaración "if" verifica si el valor de "f" es NULL o algo más. Si el valor es NULL, la función C perror arroja un error. De lo contrario, se ejecuta la parte "else-if" de la instrucción, denominada función "fgets". El propósito de usar el método fgets() es obtener 30 caracteres de un flujo de entrada "f", almacenarlos en la matriz "A" y verificar si la entrada no es NULL. Aquí, cuando toda la entrada no es NULL, se llama a la función puts() de C para mostrar la entrada completa de 30 caracteres en la consola, mientras se le pasa la matriz "A" como argumento. La secuencia se cierra con la función fclose(). ; f = fopen("fgets.txt", "r"); if(f == NULL) { perror("¡Error!"); atrás (-1); } else if(fgets(A, 30, f)!=NULL) { puts(A); } fcerrar(f); devolver 0; }

Antes de compilar nuestro código, le mostraremos los datos de texto en el archivo fgets.txt (que se usará como flujo de entrada) con la consulta de visualización "cat". Muestra las 2 líneas de datos de texto. Ahora está compilado y ejecutado. Obtenemos una sola primera línea en el rango de salida. Esto se debe a que elegimos obtener solo 30 caracteres del flujo del archivo de entrada.

Conclusión

Mientras terminamos este artículo, estamos 100% seguros de que si desea aprender algunos conceptos básicos sobre la función fgets() de C, no se arrepentirá de recibir la ayuda de nuestro artículo. Hablamos sobre cómo puede usar esta función para obtener la entrada estándar del usuario en tiempo de ejecución y cómo puede obtener los datos de un flujo de archivos y mostrarlos en el área de salida.

Mira esto:Cómo escribir y usar un símbolo derivado en LaTeX

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir