Entrada - funções de saída em C |
A lima de saída padrão da entrada
|
Para executar, input e saída às limas ou ao terminal, fontes do UNIX um pacote padrão. Para usá-los, isto contem a maioria das funções que serão introduzidas nesta seção, junto com definições dos datatypes requeridos. Seu programa deve incluir estas definições adicionando a linha para usar estas facilidades.
começo próximo do #include da lima do programa. Se você não fizer este, o compilador pode queixar-se sobre datatypes ou funções undefined.
|
Caráter input - saída
|
Se você não pressionar a chave do retorno então não começarão ler nenhuma entrada, e não imprimirão caráteres no terminal até que haja uma linha inteira a ser imprimida. Este é o nível o mais baixo da saída e da entrada. Fornece o controle muito preciso, mas é geralmente demasiado fiddly ser útil também. A maioria de computadores executam o buffering das entradas e das saídas. Estes incluem:
- getchar
- putchar
|
getchar
|
getchar retorna sempre o caráter seguinte da entrada de teclado como um interno. O EOF (extremidade de lima) está retornado, se houver um erro. É usual comparar este valor de encontro ao EOF antes de usá-lo. As condições de erro não serão seguradas assim corretamente, se o valor do retorno for armazenado em um char, ele nunca serão iguais ao EOF.
O seguinte programa está usado contar o número dos caráteres lidos até que um EOF esteja encontrado. O EOF pode ser gerado pelo controle datilografando - D.
|
#include <stdio.h>
main()
{ int ch, i = 0;
while((ch = getchar()) != EOF)
i ++;
printf("%d\n", i);
}
|
|
putchar
|
putchar põe seu argumento do caráter sobre a saída padrão (geralmente a tela).
O seguinte programa do exemplo converte toda a entrada datilografada em letras importantas. Aplica o toupper da função da biblioteca ctype.h da conversão de caráter a cada caráter por sua vez para fazer este.
|
#include <ctype.h> /* For definition of toupper */
#include <stdio.h> /* For definition of getchar, putchar, EOF */
main()
{ int ch;
while((ch = getchar()) != EOF)
putchar(toupper(ch));
}
|
|
Entrada formatada - saída
|
Estes incluem seguir:
- printf
- scanf
|
printf
|
Isto oferece mais saída estruturada do que putchar. Seus argumentos estão, em ordem; uma corda do controle, que controles o que começam impressos, seguidos por uma lista dos valores a ser substituídos para entradas na corda do controle. O protótipo para o printf () é:
|
|
int printf(const char *format, ...);
|
|
Para imprimir, o printf recolhe uma corda do formato e as variáveis reais. Um exemplo do printf é:
|
int x = 5;
char str[] = "abc";
char c = 'z';
float pi = 3.14;
printf("\t%d %s %f %s %c\n", x, str, pi, "WOW", c);
|
|
Com o uso da linha do formato, você pode formatar a saída. Você pode mudar como a variável particular é colocada na saída, modificando a especificação da conversão. Por exemplo
|
|
. permite a precisão. Aos flutuadores também, isto pode ser aplicado. O número 5 está no décimo afastamento enquanto o número 10 põe 0005 sobre 10 espaços. Você pode também adicionar - e + direito após % para fazer o número output explicitamente como +0005. Anotar que o valor de x não muda realmente. Em outras palavras, você não começará output usando %-10.4d não output -0005. %e é útil para outputting flutuadores usando a notação científica. %le para dobros e %Le para os dobros longos.
|
Para agarrar coisas da entrada, o scanf () é usado. Beware though, scanf não é a função a mais grande que C tem que oferecer. Alguns povos escovam fora do scanf como uma função quebrada que não deva ser usada frequentemente. O protótipo para o scanf é:
O último exemplo criará um retângulo com o canto arredondado:
|
Last example will create a rectangle with rounded corner:
|
int scanf( const char *format, ...);
|
|
Para ler dos dados do teclado, o scanf reserva formatado. Como o printf tem uma corda do controle, seguida pela lista dos artigos a ser lidos. Porém o scanf quer saber o endereço dos artigos a ser lidos, desde que é uma função que mude esse valor. Conseqüentemente os nomes das variáveis são precedidos pelo & pelo sinal. As cordas de caráter são uma exceção a esta. Desde que uma corda é já um ponteiro do caráter, nós damos os nomes das variáveis da corda unmodified conduzir &. Controlar as entradas da corda que os valores do fósforo a ser lidos são precedidos pelo sinal da porcentagem em uma maneira similar a seu equivalente do printf. Olha similar ao printf, mas não se comporta completamente como o printf. Fazer exame do exemplo:
|
|
Para coisas agarrando da entrada. Beware though, scanf não é a função a mais grande que C tem que oferecer, scanf () é usado. O seguinte é o exemplo que mostra o uso do scanf:
|
int x, args;
for ( ; ; ) {
printf("Enter an integer bub: ");
if (( args = scanf("%d", &x)) == 0) {
printf("Error: not an integer\n");
continue;
} else {
if (args == 1)
printf("Read in %d\n", x);
else
break;
}
}
|
|
|
|
Keywords:
c tutorial,
c arrays,
c atoi,
c array,
void c,
c syntax,
functions math,
c time,
c language,
c examples,
format c,
return c,
c library,
array functions,
c programs,
ansi c,
standard c,
c msdn,
c algorithm,
c example,
variable functions,
c program,
functions variables,
unix c,
variable c,
c type,
|