Cómo utilizar la entrada de corriente en la programación c

Las funciones de entrada / salida básicos en C no son interactivos, lo que significa que no se sientan a esperar para que escriba el texto en el teclado. Esa es la forma en que deseamos utilizar un programa de ordenador: Usted tipo de entrada, y el programa reacciona directamente. Pero la entrada estándar en C no está basada en caracteres, que es a base corriente.

Con basada en secuencias de entrada, un programa se ve en la entrada como si hubiera sido derramado de una jarra. Todos los personajes, incluyendo Enter, marchar en una tras otra. Sólo después de que se recibe un trozo dado de texto, o de entrada se detiene por completo, lo hace el extremo de aguas. Este concepto puede ser frustrante para cualquier principio C programador.

Fundamentos de la entrada de corriente

Considere el código se ilustra en frustrado por el flujo de entrada. Parece ser que el código lee la entrada hasta que se encuentre el período. En ese punto, se podría suponer que la entrada se detendría, pero eso no es anticipar el flujo de entrada.

Frustrado por el flujo de entrada

#include int main () {char i-do {i = getchar () - putchar (i) -} while (i =! ` `) - putchar (` n`) - retorno (0) -}

Ejercicio 1: Escriba el código fuente del frustrado por el flujo de entrada en un editor. Generar y ejecutar para probar el programa. Escribir mucho texto y un periodo para ver qué pasa.

He aquí cómo funciona:

Esto es una prueba. Eso`Es sólo una prueba.Esto es una prueba.

En términos generales, el programa no se detiene de entrada después de escribir un periodo. La primera línea en el ejemplo anterior es la corriente, como una manguera contra incendios caracteres de disparo en el programa. El programa se comporta adecuadamente, el procesamiento de la corriente y detener su pantalla después de que se encontró con el periodo. La clave Introduzca sirve como una ruptura en el flujo, que el programa utiliza para digerir la entrada hasta ese punto.

¿Cómo lidiar con el flujo de entrada

A pesar de la orientación corriente del lenguaje C, existen maneras de crear más o menos programas interactivos. Usted simplemente tiene que abrazar el flujo de entrada y tratar con él en consecuencia.

El código fuente en la pesca de caracteres en el flujo debe ser bastante sencillo para ti. La función getchar () recupera dos personajes y los personajes se muestran en la línea 11.

Pesca para los caracteres en el flujo

Video: 1. Introduccion al Lenguaje de Programacion C++ - Aprende Como descargar Dev C++ y como Funciona

#include int main () {char primero, segundo-printf ("Escriba su primera inicial: ") -primera = getchar () - printf ("Escriba su segunda inicial: ") -segunda = getchar () - printf ("Sus iniciales son `% c` y `% C`n", Primero, segundo) -Retorno (0) -}

ejercicio 2: El código fuente de la pesca de caracteres en el flujo en su editor. La línea 11 se divide de modo que no wrap que no tiene que dividir la línea en el editor. Generar y ejecutar usando sus iniciales como entrada.

Aquí está la salida:

Escriba su primera inicial: reEscriba su segunda inicial: Sus iniciales son `D` y ``

Nunca dio la oportunidad de entrar en su segunda inicial. La corriente incluida la prensa tecla Intro, que el programa acepta como entrada para la función segundo getchar (). Ese personaje, n, se visualiza en la salida entre las comillas simples.

¿Cómo se ejecuta el programa? Simple: Escriba las dos iniciales en el primer mensaje:

Escriba su primera inicial: DGEscriba su segunda inicial: Sus iniciales son `D` y `G`

Por supuesto, eso no es lo que pide el código. Entonces, ¿cómo solucionarlo? Se puede pensar en una solución usando sus programadores actuales de la bolsa o’trucos?

Video: Programación en C - ARREGLOS - Parte 1

No se rinda!

La solución es idear una función que devuelve el primer carácter en la corriente y luego se traga el resto de los caracteres hasta que se encuentra el n. Esa función se parece a una función de entrada de un solo carácter, Getch ():

A FUNCIÓN DE ENTRADA de un solo carácter, Getch ()

char getch (void) {char ch-ch = getchar () - tiempo (getchar () = `n`!) - retorno (CH) -}

Para envolver su cerebro alrededor de entrada de corriente, tenga en cuenta que el bucle while en una función de entrada de un solo carácter, Getch () hace girar a través de todo el texto en la corriente hasta que se encuentre una nueva línea. A continuación, el primer carácter de la corriente, se agarró a la línea 5, se devuelve desde la función.

Ejercicio 3: Modificar el código fuente del Ejercicio 2, de modo que la función getch () se ilustra en una función de entrada de un solo carácter, Getch () se utiliza para recopilar de entrada. Generar y ejecutar para asegurar que la salida es lo que anticiparía el usuario.

Si quieres programas verdaderamente interactivo, utiliza una biblioteca de lenguaje C que ofrece funciones interactivas. La biblioteca ncurses es grande, ya que tiene dos funciones de entrada y salida que permiten crear programas de texto a pantalla completa que son inmediatamente interactiva.

Artículos Relacionados