logo

Función Getchar() en C

En esta sección, aprenderemos la función getchar() en el lenguaje de programación C. A obtenerchar() la función es una no estándar función cuyo significado ya está definido en el stdin.h archivo de encabezado para aceptar una única entrada del usuario. En otras palabras, es la función de la biblioteca C la que obtiene un solo carácter (carácter sin firmar) de la entrada estándar. Sin embargo, la función getchar() es similar a la función getc(), pero hay una pequeña diferencia entre las funciones getchar() y getc() del lenguaje de programación c . Un getchar() lee un solo carácter de la entrada estándar, mientras que un getc() lee un solo carácter de cualquier flujo de entrada.

Función Getchar() en C

Sintaxis

 int getchar (void); 

No tiene ningún parámetro. Sin embargo, devuelve los caracteres leídos como un carácter sin firmar en un int, y si hay un error en un archivo, devuelve el EOF al final del archivo.

Ahora escribimos varios programas de función getchar() para aceptar caracteres individuales en C e imprimirlos usando la función putchar().

Leer un solo carácter usando la función getchar()

Consideremos un programa para tomar un single usando la función getchar() en C.

Programa.c

 #include #include void main() { char c; printf ('
 Enter a character 
'); c = getchar(); // get a single character printf(' You have passed '); putchar(c); // print a single character using putchar getch(); } 

Producción

 Enter a character A You have passed A 

Como podemos ver en el programa anterior, toma un solo carácter en el tiempo de ejecución del usuario usando la función getchar(). Después de obtener el carácter, imprime la letra mediante la función putchar().

Leer n caracteres del usuario usando la función getchar()

Consideremos un programa para leer n caracteres usando la función getchar() en C.

Getchar.c

 #include #include #include int main() { char ch; printf (' Enter a character ( If we want to exit press #) 
'); while (ch != '#') /* accept the number till the user does not enter the # to exit from the loop. */ { ch = getchar(); printf (' 
 We have entered the character : '); putchar (ch); // print a single character printf ('
'); } return 0; } 

Producción

 Enter a character ( If we want to exit.. press #) A We have entered the character: A We have entered the character: B We have entered the character: B We have entered the character: C We have entered the character: C We have entered the character: 

Como podemos ver en el resultado anterior, un bucle while acepta continuamente un carácter del usuario hasta que el usuario no pasa el carácter #. Aquí la función getchar() toma un solo carácter de la entrada estándar y lo asigna a una variable ch. Mientras que la función putchar() imprime el carácter leído.

Leer un solo carácter usando la función scanf()

Consideremos un programa para leer un carácter usando la función de biblioteca scanf() en C.

Prog.c

 #include #include int main() { char ch; printf ('
 Enter the character 
'); scanf ('%c', &ch); // get a single character, numeric or words printf( ' You have entered %c', ch); /* It print a single character or first letter of the words. */ return 0; } 

Producción

 Enter the character A You have entered A 

Como podemos ver, cuando ejecutamos el programa anterior, toma un solo carácter o grupo de caracteres usando la función de biblioteca scanf() en lugar de la función getchar(). Pero hay una pequeña diferencia; una función scanf() puede tomar un carácter único o un grupo de caracteres del usuario, mientras que la función getchar() solo puede aceptar un carácter único.

Aquí ejecutamos nuevamente el programa anterior y esta vez muestra los siguientes resultados.

 Enter the character Apple You have entered A 

Leer los caracteres usando un bucle do- while

Consideremos un programa para leer los caracteres usando las funciones do while y getchar() en C.

Hacermientras1.c

 #include #include int main() { int ch, i = 0; char str[150]; printf (' Enter the characters from the keyboard (Press Enter button to stop).
'); // use do while loop to define the condition do { ch = getchar(); // takes character, number, etc from the user str[i] = ch; // store the ch into str[i] i++; // increment loop by 1 } while (ch != '
'); // ch is not equal to '
' printf('Entered characters are %s ', str); return 0; } 

Producción

 Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come 

En el programa anterior, un bucle do- while acepta continuamente los caracteres hasta que el usuario pasa el INGRESAR para salir del bucle.