Gets e Fgets Programação
PROGRAMAÇÂO II
Strings
%s
Antes de iniciar nosso estudo das funções que recebem e lêem strings, vamos apresentar o %s.
Você deve se lembrar que usamos %d para representar números inteiros, %f para números decimais e %c para caracteres.
Para strings, usamos o %s.
1. Lendo uma string do teclado
Você pode ler uma string do teclado usando as funções gets( ) e fgets(). Elas fazem parte do arquivo de cabeçalho stdio.h. sintaxe fgets fgets(STRING,TAMANHO,STREAM); onde:
STRING é a variável onde a string será armazenada
TAMANHO é o tamanho máximo da string
STREAM é de onde os caracteres serão lidos, para ler do teclado o valor padrão para isto é stdin
Exemplo do uso de fgets:
/* usando fgets para ler uma string do teclado */
#include <stdio.h>
int main() { char frase[50];
printf("Digite uma frase qualquer:"); fgets(frase,50,stdin); printf("\n"); printf("Exibindo\n\n");
printf("%s\n",frase);
return(0);
}
sintaxe gets; gets vem de get string. Como sempre, algo bem óbvio e de fácil memorização.
Para usar a função gets(), é bem simples, basta passar uma string como argumento.
A sintaxe é:
gets( nome_da_string );
2. Como ler Strings com a função scanf
Assim como os números e caracteres, também podemos usar a nossa tão conhecida função scanf para receber uma string do usuário.
Há um porém com a leitura de strings e um problema com a função scanf para strings.
O porém é o seguinte: lembra que o nome de um vetor nada mais é que o endereço de memória do primeiro elemento do vetor?
Lembra que dissemos também, sobre a definição de strings, que strings são um vetor de caracteres com um caractere delimitador \0 no final?
E por fim, lembra que, para armazenar dado em uma variável, na função scanf() nós sempre passamos o endereço da variável ( &variável)?
Se você conseguiu ver onde chegamos, notará que para receber uma string do usuário através da função scanf(), não é necessário colocar o operador &, pois o nome da string em si já é