Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
eclipsecg

Caracteres especiais em C

Recommended Posts

Tenho duas dúvidas enquanto aos caracteres especiais em C.

 

1º DÚVIDA:

 

O caractere '\t' pelo que eu vi ele significa tabulação, mas, o que seria exatamente isso ? Ele representa alguma tecla do taclado? 

 

Qual diferença do '\t' para o cactere ' ' ( espaço)? Uma tabulação tem quantos espaços? Dar para alterar isso ou é padrão?

2º DÚVIDA:

Qual diferença do \n para o \r ?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, eclipsecg disse:

O caractere '\t' pelo que eu vi ele significa tabulação, mas, o que seria exatamente isso ? Ele representa alguma tecla do taclado? 

Tabulação é um conjunto de X espaços. Alguns programas permitem você estipular esse valor X de espaços. No meu IDE um tabulador equivale a 4 espaços em branco. Não é o caso do tabulador em C, realmente nem sei se é possível alterar isso no compilador, mas perfeitamente podemos ver que o programa salta de 8 em 8 espaços:
printf("1234567890\n\tx");

Existem formas mais efetivas de tabular um texto como:

#include<stdio.h>
#define SEPARADOR1 10
#define SEPARADOR2 -10

int main (){
    printf("[%*s]", SEPARADOR1, "campo1");
    printf("[%*s]", SEPARADOR2, "campo2");
    return 0;
}


Um exemplo algo mais elaborado pode ser:

#include <stdio.h>
#include <stdlib.h>
#define MAXLETRAS 10
typedef struct {
    char nome[MAXLETRAS];
    float nota[4];
}Dados;

int main (){
    int i,j;
    Dados lista[3] ={
        {{"Lucas"  }, {10  , 9.5, 7.4, 8.9} },
        {{"Leandro"}, { 9  , 9.5, 7.8, 8.7} },
        {{"José"   }, { 8.5, 9.2, 7.9, 8.8} }    
    };
    printf("%*s%8s%8s%8s%8s\n", -MAXLETRAS, "Aluno", "Nota1", "Nota2", "Nota3", "Média");
    // printf("%*s\n", MAXLETRAS,"Hola mundo");
    for (i=0;i<3;i++) {
        printf("%*s", -MAXLETRAS, lista[i].nome); 
        for (j=0;j<4;j++) { 
            printf("%8.1f", lista[i].nota[j]);
        }
        printf("\n");
   }
    
    getchar();
    return 0;
}


E a coisa não para aí...

#include<stdio.h>

int main (){
    
    char str[] = "Ola Mundo";
    printf("[%s]", str);
    printf("\n");
    printf("[%20s]", str);
    printf("\n");
    printf("[%-20s]", str);
    printf("\n");        
    printf("[%20.3s]", str);
    printf("\n");    
    printf("[%-20.5s]", str);
    printf("\n");     

    return 0;
}

Como podemos ver printf é uma função com bastantes recursos para dar formato a textos.
 

 

2 horas atrás, eclipsecg disse:

Qual diferença do '\t' para o cactere ' ' ( espaço)? Uma tabulação tem quantos espaços? Dar para alterar isso ou é padrão?

Acho que com printf("1234567890\n\tx"); respondo a pergunta sobre quantos espaços tem.
Sobre se diferenças eu acho que sim tem, pois na tabela asc2 \t é um caractere diferente de ' ', mas a ideia é que seria como uns 8 espaços mais ou menos. Como falei não sei se é possível modificar isso, porém como vimos temos mecanismos muito potentes para controlar os espaços... uu posso criar um(ou vários) separadores(defines) e mudar a distancia de todos com somente modificar o define. E como vimos também o operador %s tem muitos truques para alinhar o texto também.


 

2 horas atrás, eclipsecg disse:

2º DÚVIDA:

Qual diferença do \n para o \r ?

O '\n' é new line (nova linha)
char str[] = "Ola Mundo";
printf("%s\n", str);

O \r retorna ao principio da linha
printf("%s", "Ola Mundo");
printf("\r");//volta ao inicio da linha
printf("%s", "Bye"); //Escreve em cima de Ola

O '\b' retorna uma só letra:
printf("%s", "Ola Mundo");
printf("\b");
printf("%s", "inho");

Algo más? >_<

Editado por vangodp
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×