Porque fgets() ao invés de gets()
Dica publicada em C/C++ / Avançado
Porque fgets() ao invés de gets()
Quando utilizamos o gets() para pegar uma string do teclado pode
acontecer do usuário digitar mais caracteres do que o array definido
suporta, causando um erro no programa. É aí que entra a função fgets(),
esta função limita o usuário a digitar somente a quantidade de caracteres
necessária.
Sendo stdin uma stream referenciada ao teclado, então utilizaremos assim:
#include<stdio.h>
#define MAX 10
int main()
{
char teste[MAX];
fgets(teste, MAX, stdin);
printf("%s",teste);
}
#define MAX 10
int main()
{
char teste[MAX];
fgets(teste, MAX, stdin);
printf("%s",teste);
}