Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
Relogio

tabulação em c - printf

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

tabulação em c - printf

Mensagem  juk em Qua Jan 23, 2013 12:21 pm

Especificadores de formato

ESPECIFICADOR VALOR
%d inteiro
%o inteiro em formato octal
%x inteiro em formato hexadecimal
%X
%u unsigned int
%ld long int
%f float
%c char
%e float em formato exponencial
%E
%g float. C escolhe melhor maneira de exibição entre normal e exponencial
%G
%s string
%p endereço de um ponteiro
%n quantos caracteres a função printf exibiu

Exibindo o sinal de positivo ou negativo antes de um número

Por padrão o sinal de subtração precede um número negativo. Para que o sinal de adição preceda um número positivo inclua um sinal de adição logo após o % no especificador de formato.

Exemplo:
Código:

#include <stdio.h>

int main()
  {
    int nr_pos,nr_neg;

    nr_pos = 3;
    nr_neg = -3;

    printf("nr_pos = %+d\n",nr_pos);
    printf("nr_neg = %d\n",nr_neg);

    return(0);
  }
Formatando valores inteiros

SINTAXE EFEITO
printf (" %5d ",valor); exibe valor com um mínimo de 5 caracteres
printf(" %05d ",valor); exibe valor com um mínimo de 5 caracteres precedendo-o com zeros
#%o exibe um valor octal precedido de 0 (zero)
#%x exibe um valor hexadecimal precedido de 0x
#%X

Formatando valores float

printf(" %5.3f ", valor); /* Exibe valor com um mínimo de 5 caracteres e com 3 dígitos a direita do ponto decimal */

Justificando à esquerda

Por padrão, printf justifica o texto à direita. Para justificar à esquerda coloque um sinal de subtração após o %.

Exemplo:
Código:

#include <stdio.h>

int main()
  {
    int valor = 1;

    printf("Justificado a direita  => %5d\n",valor);

    printf("Justificado a esquerda => %-5d\n",valor);

    return(0);
  }
Quebrando uma string em duas linhas
Código:

 #include <stdio.h>

int main()
  {
    printf("Esta string é muito grande e por isso foi\
 quebrada em mais de uma linha. Para fazer isso você\
 deve usar o sinal de barra invertida.");

    return(0);
  }
Caracteres de escape

CARACTERE SIGNIFICADO
\a aviso sonoro
\b retrocesso
\f avanço de formulário
\n nova linha
\r retorno do carro (sem alimentação de linha)
\t tabulação horizontal
\v tabulação vertical
\\ caractere de barra invertida
\' apóstrofe
\" aspas
\? interrogação
\nnn valor ASCII em octal
\xnnn valor ASCII em hexadecimal

Verificando quantos caracteres printf exibiu
Código:

 #include <stdio.h>

int main()
  {
    int nr_caracteres;

    printf("Verificando quantos caracteres printf exibiu.%n",&nr_caracteres);
    printf("\nA frase acima tem %d caracteres.",nr_caracteres);

    return(0);
  }
No exemplo acima, o especificador %n coloca o número de caracteres exibidos por printf na variável &nr_caracteres.


Usando o controlador ANSI para exibir em cores, limpar a tela e posicionar o cursor

Exibindo em cores

SEQUÊNCIA DE ESCAPE

COR

\033[30m Cor do primeiro plano preta
\033[31m Cor do primeiro plano vermelha
\033[32m Cor do primeiro plano verde
\033[33m Cor do primeiro plano laranja
\033[34m Cor do primeiro plano azul
\033[35m Cor do primeiro plano magenta
\033[36m Cor do primeiro plano ciano
\033[37m Cor do primeiro plano branca
\033[40m Cor do fundo preta
\033[41m Cor do fundo vermelha
\033[42m Cor do fundo verde
\033[43m Cor do fundo laranja
\033[44m Cor do fundo azul
\033[45m Cor do fundo magenta
\033[46m Cor do fundo ciano
\033[47m Cor do fundo branca
Exemplo :
Código:

#include <stdio.h>

int main()
  {
    printf("\033[41m"); /* fundo vermelho */
    printf("\033[37m"); /* primeiro plano branco */
    printf("Exibindo o fundo em vermelho e o primeiro plano em branco.\n");
    return(0);
  }
Posicionando o cursor

SEQUÊNCIA DE ESCAPE

FUNÇÃO

\033[x;yH posiciona o cursor na linha x, coluna y
\033[xA move o cursor x linhas para cima
\033[xB move o cursor x linhas para baixo
\033[yC move o cursor y colunas para a direita
\033[yD move o cursor y colunas para a esquerda
\033[S armazena a posição atual do cursor
\033[U restaura a posição do cursor
\033[2J limpa a tela
\033[K limpa a linha atual

Exemplo:
Código:

#include <stdio.h>

int main()
  {
    printf("\033[2J"); /* limpa a tela */
    return(0);
  }
Referencia:http://homepages.dcc.ufmg.br/~joaoreis/Site%20de%20tutoriais/c_int/index.htm
avatar
juk

Mensagens : 225
Data de inscrição : 02/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum