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.
Menu
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).