Cómo utilizar la función fgets () para la introducción de texto en la programación c

Video: Bloque 8.1: Lectura de Ficheros de Texto con fgetc y fgets

Para una función de entrada de texto de uso general en el lenguaje de programación C, que se lee más allá del primer carácter de espacio en blanco, pruebe los fgets () función. Aquí está el formato:

Char #include * fgets (char * restringir s, int n, FILE * restringir stream) -

Aterrador, ¿no? Esto se debe a fgets () es una función de fichero, que lee el texto de un archivo, como en “cadena get file.” Así es como los programadores hablan después de toda una noche.

Debido a que el sistema operativo considera la entrada estándar como un archivo, puede utilizar fgets () para leer el texto desde el teclado.

Aquí hay una versión simplificada de los fgets () la función que se aplica a la entrada de texto de lectura:

fgets (cuerda,tamaño,stdin) -

En este ejemplo, cuerda es el nombre de una matriz de caracteres, una cadena variable tamaño es la cantidad de texto a la entrada más uno, que debería ser el mismo tamaño que la Expandido Char y la entrada estándar es el nombre del dispositivo de entrada estándar, tal como se define en el archivo de cabecera stdio.h.

EL FGETS () FUNCIÓN lee una cadena

#include int main () {char nombre [10] -printf ("¿Quién eres tú? ") -fgets (nombre, 10, stdin) -printf ("Encantado de conocerlo, s.n%", Nombre) -Retorno (0) -}

Ejercicio 1: Escriba el código fuente del fgets () Función Lee una cadena en un nuevo proyecto, ex0716. Compilar y ejecutar.

La función fgets () en la línea 8 se lee en el texto. El texto continúa en la matriz nombre, que se establece en un máximo de diez caracteres de la línea 5. El número 10 se especifica que fgets () lee en sólo nueve caracteres, uno menos que el número especificado. Por último, la entrada estándar se especifica como el “archivo” de la que se lee la entrada. es la entrada estándar stunreard enponer.

La matriz de caracteres debe tener un carácter adicional reservada para el al final de una cadena. Su tamaño debe ser igual al tamaño de la entrada que necesita - más uno.

Video: 96. Programación en C - Cadenas - Ejercicio utilizar strcat para añadir texto a un string

Así es como funciona el programa:

¿Quién eres tú? Danny GookinEncantado de conocerlo, Danny Goo.

Solamente se muestran los nueve primeros caracteres del texto escrito en la primera línea. ¿Por qué sólo nueve? Debido carácter de terminación de la cadena - el NULL, o. La sala de este carácter se define cuando se crea la matriz nombre en la línea 5. Si fgets () fuera a leer en diez caracteres en lugar de nueve, la matriz se desbordaría, y el programa podría no funcionar correctamente.

Video: 109. Programación en C - Archivos - Ejercicio utilizar fputc para copiar texto en un archivo txt

Ejercicio 2: Cambiar el tamaño de la matriz en el código fuente del fgets () Función Lee una cadena a un valor constante. Establecer la constante para permitir la entrada sólo tres caracteres.

  • La función fgets () lee el texto de la entrada estándar, no desde el teclado directamente.

  • El valor devuelto por fgets () es la cadena que se introdujo.

Artículos Relacionados