Pular para o conteúdo

Porque fgets() ou gets()??

Dica publicada em C/C++ / Avançado
Leonardo Leojls
Hits: 8.662 Categoria: C/C++ Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Porque fgets() ou gets()??

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);
}

Nenhuma dica encontrada.

Harbour e xHarbour para programadores Clipper

Livro de programação de jogos Linux de graça

Passar variáveis char para inteiro

Medindo o tempo de execução do seu programa com o gprof

Compilando em um Cluster Linux

#1 Comentário enviado por Dark_Avatar em 11/06/2006 - 02:30h
Legal a dica, sempre é bom evitar bugs simples mas que podem ferrar todo o programa por causa de um buffer overflow...
#2 Comentário enviado por f_Candido em 29/10/2007 - 00:36h
Legal a dica. Show de Bola
Parabéns.

Contribuir com comentário

Entre na sua conta para comentar.