Cómo utilizar la entrada de caracteres / salida en la programación c

El tipo más simple de entrada y salida en la programación C tiene lugar en el nivel del personaje: Uno de los personajes va in- un personaje sale. Por supuesto, llegar a ese punto implica un poquito de programación.

Los dispositivos de entrada y salida en la programación C

El lenguaje C nació con el sistema operativo Unix. Como tal, se sigue muchas de las reglas para ese sistema operativo con respecto a la entrada y la salida. Esas reglas son bastante sólido:

  • Entrada proviene del dispositivo de entrada estándar, la entrada estándar.

  • Salida es generada por el dispositivo de salida estándar, salida estándar.

En un equipo, el dispositivo de entrada estándar, la entrada estándar, es el teclado. Input también puede ser redirigido por el sistema operativo, por lo que puede venir de otro dispositivo, como un módem, o también puede provenir de un archivo.

El dispositivo de salida estándar, salida estándar, es la pantalla. La salida puede ser redirigido para que vaya a otro dispositivo, tal como una impresora o en un archivo.

Funciones del lenguaje C que tienen que ver con la participación y el acceso de salida de los dispositivos de stdin y stdout. No leen directamente desde el teclado o la salida a la pantalla. Bueno, a menos que el código de su programa para hacerlo.

Conclusión: A pesar de que sus programas pueden obtener la entrada desde el teclado y enviar la salida a la pantalla, usted necesita pensar sobre el lenguaje C / S en términos de stdin y stdout dispositivos en su lugar. Si se olvida de eso, puede meterse en problemas.

¿Cómo se ha podido recuperar personajes con getchar ()

Es hora de que el código para ser más interactivo. Considere el código fuente de la que se come caracteres, que utiliza la función getchar (). Esta función se pone (lee) un personaje de la entrada estándar.

Come PERSONAJES

#include int main () {int c-printf ("Estoy esperando a un personaje:") -c = getchar () - printf (". Esperé a que el carácter '% c' n", c) - volver (0) -}

El código en Come Personajes dice un personaje de la entrada estándar mediante la función getchar () en la línea 8. El carácter se volvió de getchar () y se almacena en el c variable entera.

Línea 9 muestra el carácter almacenado en c. La función printf () utiliza el% c marcador de posición para mostrar los caracteres individuales.

Ejercicio 1: Escriba el código fuente para ex0701 proyecto, tal como se muestra en la que se come caracteres. Genere y ejecute.

La función getchar () se define de esta manera:

#include int getchar (void) -

La función no tiene argumentos, por lo que los paréntesis son siempre con las manos la palabra vacío en este ejemplo, básicamente, lo dice. Y la función getchar () requiere el archivo de cabecera stdio.h para ser incluido con su código fuente.

getchar () devuelve un valor entero, no una variable de tipo char. El compilador le avisa cuando se le olvida. Y no te preocupes: El int contiene un valor de carácter, que es lo que funciona.

Ejercicio 2: Edite la línea 9 en el código fuente de la que se come caracteres para que el marcador de posición% d se utiliza en lugar de% c. Genere y ejecute.

El valor que se muestra cuando se ejecuta la solución al Ejercicio 1 es el valor de código ASCII del carácter. Los% d muestra que valoran en lugar de un valor de carácter, porque internamente la trata de computadora toda la información como valores. Sólo cuando se muestra la información como un personaje Cómo se ve el texto.

Técnicamente, getchar () no es una función. Es un macro - un acceso directo basada en otra función, como se define en el archivo de cabecera stdio.h. La función real de obtener caracteres de la entrada estándar es getc () - en concreto, cuando se utiliza de esta manera:

c = getc (stdin) -

En este ejemplo, getc () lee desde el dispositivo de entrada estándar, la entrada estándar, que se define en el archivo de cabecera stdio.h. La función devuelve un valor entero, que se almacena en la variable c.

Ejercicio 3: Vuelva a escribir el código fuente para que se come caracteres, en sustitución de la declaración getchar () con el ejemplo getc () simplemente muestra.

Ejercicio 4: Escriba un programa que solicita de tres personajes-, por ejemplo:

Estoy esperando a tres personajes:

Código de tres consecutivos getchar () funciones para leer los caracteres. Formatear el resultado como este:

Los tres personajes son 'a', 'b' y 'c'

donde estos personajes - A, B, y C - serían reemplazados por la entrada del programa.

El programa se crea en el Ejercicio 4 espera a tres personajes. La tecla Enter es un personaje, por lo que si se escribe LA, Ingrese, B, Ingrese, los tres personajes son LA, Introduzca el personaje clave, y luego B. Eso es una entrada válida, pero lo que es probable que desea escribir es algo así como Abecedario o PASTEL o lol y luego pulse la tecla Enter.

De entrada estándar es corriente orientada. No espere que sus programas en C para ser interactivo. Ejercicio 4 es un ejemplo de cómo obras- entrada de corriente de la llave no termina corriente input- simplemente paseos a lo largo de la corriente, como cualquier otro carácter Intro.

Cómo utilizar el putchar () función

El gemelo malvado de la función getchar () es la función putchar (). Sirve el propósito de dar patadas a un solo carácter a la salida estándar. Este es el formato:

#include int putchar (int c) -

Para hacer el trabajo putchar (), envía un carácter, colocar un carácter literal en el paréntesis, como en

putchar ('v') -

O usted puede colocar el valor de código ASCII (un entero) para el personaje en los paréntesis. La función devuelve el valor del carácter que está escrito.

PONIENDO PUTCHAR () TRABAJAR

() {int ch-printf ("Pulse Intro:") principal int #include -getchar () - = ch 'H'-putchar (ch) -CH =' yo-putchar (ch) -putchar ('!' ) -Retorno (0) -}

Este fragmento de código utiliza la función getchar () para hacer una pausa en el programa. La declaración en la Línea 8 espera para la entrada. La entrada que ha recibido no está con acumulación no necesita ser. El compilador no se queja si usted no mantiene el valor devuelto por la función (o de cualquier función) getchar ().

En líneas 9 a 12, la función putchar () muestra el valor de la variable ch un carácter a la vez.

Valores de un solo carácter se asignan a la ch variable en las líneas 9 y 11. La asignación funciona igual que la asignación de valores, aunque se especifiquen caracteres de un solo, encerrado entre comillas simples. Este proceso todavía funciona, aunque ch no es un tipo de variable carbón.

En la línea 13, putchar () muestra un valor constante directamente. Una vez más, el carácter debe ir entre comillas simples.

Ejercicio 5: Crear un nuevo proyecto, ex0705, utilizando el código fuente mostrado en la Poniendo putchar () trabajar. Construir y ejecutar el programa.

Una cosa rara de la salida es que el carácter final no es seguido por un salto de línea. Esa salida se puede mirar torpe en una pantalla de texto, por lo que:

Ejercicio 6: Modificar el código fuente del Ejercicio 5 para que un carácter adicional se emite después de la! personaje (el carácter de nueva línea).




» » » » Cómo utilizar la entrada de caracteres / salida en la programación c