Como usar a entrada de fluxo em c programação

As funções de entrada / saída básico em C não são interativos, o que significa que eles não sentar e esperar para você digitar texto no teclado. Essa é a maneira que você pretende usar um programa de computador: Você tipo de entrada, e o programa reage diretamente. Mas a entrada padrão em C não é personagem baseado, é fluxo de base.

Video: Curso Programação em C/C++ - Aula 2 - Bibliotecas, Printf e Scanf

Com fluxo baseada entrada, um programa olha para a entrada como se fosse derramado de um jarro. Todos os personagens, incluindo Enter, marchar em um após o outro. Só depois de um determinado pedaço de texto é recebida, ou a entrada pára completamente, não o fim fluxo. Este conceito pode ser frustrante para qualquer início C programador.

Fundamentos da entrada de fluxo de

Considere o código ilustrado na frustrado por Input Stream. Parece que o código lê a entrada até o período é encontrado. Nesse ponto, você diria que a entrada iria parar, mas isso não está antecipando a entrada de fluxo.

Video: MATLAB - Aula 3.1 - Fluxo de Dados (if, else, for, while, switch)

Frustrado por ENTRADA STREAM

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

Exercício 1: Digite o código-fonte do malogrado pela entrada Corrente em um editor. Criar e executar a experimentar o programa. Digite um monte de texto e um período para ver o que acontece.

Veja como ele funciona:

Isto é um teste. isto`é apenas um teste.Isto é um teste.

De um modo geral, o programa não parar entrada após você digita um período. A primeira linha no exemplo anterior é o fluxo, como uma mangueira de incêndio personagens atirando para o programa. O programa se comporta corretamente, o processamento do fluxo e travar a sua exibição após o período é encontrado. A Enter serve como chave de uma pausa no fluxo, que utiliza o programa de digerir entrada até que ponto.

Video: Programar em C - Como Utilizar "switch" - Aula 16

Como lidar com a entrada de fluxo

Apesar orientação fluxo da linguagem C, formas existem para criar mais-ou-menos programas interativos. Você simplesmente tem que abraçar a entrada de fluxo e lidar com ele adequadamente.

O código-fonte na pesca de Personagens in the Stream deve ser bastante simples para você. A função getchar () obtém dois caracteres e, em seguida, os caracteres são exibidos na Linha 11.

PESCA para caracteres no fluxo

#include int main () {char primeira, segunda-printf ("Escreva seu primeiro inicial: ") -primeiro = getchar () - printf ("Escreva seu segundo inicial: ") -Segundo = getchar () - printf ("Suas iniciais são `% c` e `% c`n", Primeira, segunda) -Retornar (0) -}


exercício 2: Digite o código fonte a partir de pesca para caracteres na Corrente em seu editor. Linha 11 é dividido de modo que não wrap você não tem que dividir a linha em seu editor. Criar e executar usando suas iniciais como entrada.

Video: Linguagem C - Como usar os comandos goto e return

Aqui está a saída:

Escreva seu primeiro inicial: DEscreva seu segundo inicial: Suas iniciais são `D` e ``

Ele nunca deu uma chance para introduzir a sua segunda inicial. O fluxo incluiu a pressionar a tecla Enter, que o programa aceite como entrada para a função de segundo getchar (). Esse personagem, n, é exibido na saída entre aspas simples.

Como você executar o programa? Simples: Escreva ambas as iniciais no primeiro prompt:

Escreva seu primeiro inicial: DGEscreva seu segundo inicial: Suas iniciais são `D` e `G`

Claro, isso não é o que o código pede. Assim como você corrigir isso? Você pode pensar em uma solução usando seus programadores atuais saco o’truques?

Não desista!

A solução é o de conceber uma função que retorna o primeiro carácter no fluxo e, em seguida, engole o resto dos caracteres até que a n for encontrado. Essa função se parece com uma função de entrada com apenas um caractere, Getch ():

Uma função de entrada de caractere simples, GETCH ()

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

Para quebrar o seu cérebro em torno de entrada de fluxo, considere que o loop while em uma função Input-Caráter Individual, Getch () estende-se por todo o texto no fluxo até que uma nova linha é encontrado. Em seguida, o primeiro caractere no fluxo, agarrou na Linha 5, é retornado da função.

Exercício 3: Modificar o código fonte de Exercício 2 de modo a que a função getch () ilustrado em A função da entrada com apenas um caractere, Getch () é usado para reunir informações. Criar e executar para garantir que a saída é o que o usuário iria antecipar.

Se você quer que os programas realmente interativos, você usa uma biblioteca de linguagem C que oferece funções interativas. A biblioteca NCurses é grande porque tem ambas as funções de entrada e saída que permitem criar programas de texto em tela cheia que são imediatamente interativo.


Publicações relacionadas