Como usar o caractere de entrada / saída em C Programming

O tipo mais simples de entrada e saída em programação C ocorre no nível de personagem: Um personagem vai in- um personagem sai. Claro, chegar a esse ponto envolve um pouquinho de programação.

Os dispositivos de entrada e saída em programação C

A linguagem C nasceu com o sistema operacional Unix. Como tal, segue muitas das regras para que o sistema operacional em relação à entrada e saída. Essas regras são bastante sólidos:

  • A entrada vem do dispositivo de entrada padrão, stdin.

  • A saída é gerado pelo dispositivo de saída padrão, saída padrão.

Em um computador, o dispositivo de entrada padrão, stdin, é o teclado. Entrada também pode ser redirecionada pelo sistema operacional, para que ele possa vir de outro dispositivo, como um modem, ou também pode vir de um arquivo.

O dispositivo de saída padrão, stdout, é a exibição. A saída pode ser redirecionada para que ele vai para outro dispositivo, como uma impressora ou para um arquivo.

funções da linguagem C que lidam com a entrada eo acesso de saída dos dispositivos stdin e stdout. Eles não lêem diretamente a partir do teclado ou saída para a tela. Bem, a menos que você codificar seu programa para fazê-lo.

Conclusão: Embora os programas podem obter dados do teclado e enviar a saída para a tela, você precisa pensar sobre a linguagem C / S em termos de stdin e dispositivos stdout em vez. Se você esquecer isso, você pode entrar em apuros.

Como buscar personagens com getchar ()

É hora para o seu código para se tornar mais interativo. Considere o código fonte a partir come Personagens, que usa a função getchar (). Esta função obtém (lê) um personagem da entrada padrão.

Ele come PERSONAGENS

#include int main () {int c-printf ( "Eu estou esperando por um caractere:") -c = getchar () - printf ( ". Esperei o caractere '% c' n", c) - return (0) -}

O código em que ele come Personagens lê um caractere da entrada padrão usando a função getchar () na Linha 8. O personagem é retornado de getchar () e armazenados no c variável inteiro.

Linha 9 exibe o caractere armazenado em c. A função printf () usa o espaço reservado% c para exibir caracteres individuais.

Exercício 1: Digite o código-fonte para ex0701 projeto, como mostra a ele come caracteres. Construir e executar.

A função getchar () é definido da seguinte maneira:

getchar #include int (void) -

A função não tem argumentos, então os parênteses são sempre vazio- a palavra vazio neste exemplo basicamente diz isso. E a função getchar () requer o arquivo de cabeçalho stdio.h para ser incluído no seu código-fonte.

getchar () retorna um valor inteiro, não uma variável de char. O compilador avisa quando você esquecer. E não se preocupe: O int contém um valor de caractere, que é apenas como ele funciona.

exercício 2: Edite Linha 9 no código-fonte de ele come Personagens de modo que o espaço reservado% d é usado em vez de% c. Construir e executar.

O valor que é exibido quando você executar a solução do Exercício 1 é valor de código ASCII do personagem. As% d apresenta esse valor em vez de um valor de caracteres porque internamente os deleites computador todas as informações como valores. Somente quando a informação é apresentada como um personagem que lhe parece texto.

Tecnicamente, getchar () não é uma função. É um macro - um atalho baseado em outra função, tal como definido no arquivo de cabeçalho stdio.h. A função real para obter caracteres da entrada padrão é getc () - especificamente, quando usado como este:

c = getc (stdin) -

Neste exemplo, getc () lê a partir do dispositivo de entrada padrão, entrada padrão, que é definido no ficheiro de cabeçalho stdio.h. A função retorna um valor inteiro, que é armazenado na variável c.

exercício 3: Reescrever o código fonte para ele come Personagens, substituindo a declaração getchar () com o exemplo getc () apenas mostrado.

exercício 4: Escreva um programa que pede três characters- por exemplo:

Eu estou esperando por três personagens:

Código de três getchar consecutiva () funções para ler os caracteres. Formate o resultado como este:

Os três personagens são 'a', 'b' e 'c'

onde estes caracteres - a, b, c e - seriam substituídas por a entrada do programa.

O programa que você criar no Exercício 4 aguarda três caracteres. A tecla Enter é um personagem, por isso, se você digita UMA, Entrar, B, Entrar, os três personagens são UMA, o caráter tecla Enter, e depois B. Essa é a entrada válida, mas o que você provavelmente quer digitar algo como abc ou TORTA ou RI MUITO e pressione a tecla Enter.

a entrada padrão é orientada para o fluxo. Não espere que os seus programas em C para ser interativo. Exercício 4 é um exemplo de como a entrada fluxo de obras- a chave não termina fluxo de entrada-lo apenas monta junto no fluxo, como qualquer outro personagem Enter.

Como utilizar o putchar () função

O gêmeo do mal da função getchar () é a função putchar (). Ela serve o propósito de chutar um único personagem para a saída padrão. Aqui é o formato:

#include int putchar (int c) -

Para fazer putchar () trabalho, você enviá-lo um personagem, colocando um caractere literal entre parênteses, como em

putchar ( 'v') -

Ou você pode colocar o valor de código ASCII (um inteiro) para o personagem no parênteses. A função retorna o valor do caractere que está escrito.

COLOCAÇÃO Putchar () TRABALHAR

int main # include () {int ch-printf ( "Pressione Enter:") -getchar () - = ch 'H'-putchar (ch) CH =' I 'putchar (ch) -putchar ('! ' ) -Retornar (0) -}

Este pedaço de código usa a função getchar () para interromper o programa. A declaração em linha 8 aguarda entrada. A entrada que é recebida não é stored- ele não precisa ser. O compilador não reclamar se você não manter o valor retornado da função getchar () (ou de qualquer função).

Em linhas 9 a 12, a função putchar () mostra o valor da variável CH um carácter de cada vez.

valores de caracteres simples são atribuídas ao CH variável nas linhas 9 e 11. A atribuição funciona como atribuir valores, embora caracteres individuais são especificados, entre aspas simples. Este processo ainda funciona, embora CH não é um tipo de variável de char.

Na linha 13, putchar () exibe um valor constante diretamente. Mais uma vez, o personagem deve ser colocado entre aspas simples.

Exercício 5: Criar um novo projeto, ex0705, usando o código-fonte apresentado na Pondo putchar () trabalhar. Criar e executar o programa.

Uma coisa estranha sobre a saída é que o personagem final não é seguido por uma nova linha. Essa saída pode parecer estranho em um display de texto, então:

exercício 6: Modificar o código fonte do Exercício 5 para que um caractere adicional é emitido após o! caracteres (o caractere de nova linha).

menu