Ir ao conteúdo
  • Cadastre-se

Leitura de strings em C


Posts recomendados

Dando uma pesquisada rápida no fórum, encontrei esse post que mostra como armazenar string com espaço: http://forum.clubedohardware.com.br/forums/topic/1064796-string-em-c-ajuda/#entry5832892

 

Eu apenas complementaria com o uso do "%*c", a fim de ignorar o carácter "ENTER", que fica armazenado no buffer, evitando que possa ocorrer situações em que o programa não leia o conteúdo informado pelo usuário:

scanf("%[^\n]%*c", Palavra);

Att.

Link para o comentário
Compartilhar em outros sites

Resp 1: A função "gets()" tem um problema muito sério. Ela não faz o tratamento do tamanho do conteúdo informado pelo usuário, permitindo que aconteça o estouro de memória (buffer overflow).

Para mais informações: http://www.gidnetwork.com/b-56.html

 

Resp 2: Sim, é possível usar a função "strcmp()", comparando string (vetor de char) com vetor de string (matriz de char).

Exemplo:

    char Nome[50] = {'\0'}; // Inicializa vetor com terminador de string    char Lista[5][50] = {{'\0'}}; // Inicaliza matriz com terminador de string     strcpy(Nome, "Nome 1");    strcpy(Lista[0], "Nome 1");     if ( strcmp(Nome, Lista[0]) == 0 )        printf("Sao iguais\n");    else        printf("Sao diferentes\n");

 

Att.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...