Ir para conteúdo
🥇 [Exclusivo] Seja um Membro VIP EXTREME! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

Fala galera, boa noite.

 

Tenho conhecimento sobre a vulnerabilidade da função gets(), e em uma aula com meu professor de programação, resolvi explicar a ele sobre esta vulnerabilidade e que seria melhor usar a função fgets().

Bom, ele insiste em dizer que não tem problema, diz que é só limpar o buffer de entrada de dados.

 

A minha pergunta é: Isso que ele disse, é válido? Ele recomenda aos alunos que usem o gets(), o DEV C++ e o codeblocks do laboratório não alertam e compilam normalmente, mas o meu codeblocks do notebook interrompe a compilação e diz:

warning: the `gets' function is dangerous and should not be used.

 

Devo insistir com ele pra que pelo menos eu possa usar fgets() ou aceito o que ele diz e continuo usando gets() ?

 

Desde já, agradeço a opinião de todos.

"Call me King, call me Demon. The Water forget the Names of the drowned."

Link para o comentário
https://www.webcheats.com.br/topic/2244348-d%C3%BAvida-sobre-fgets/
Compartilhar em outros sites

Hahahaha.

Depende, se ele te obrigar a usar esta mer-da, use... fazer o quê?!

 

Se bem que, acredito que nesses exercícios de faculdade dificilmente haverá um grande problema utilizando esta função. O mais importante (saber que não se deve usar) você já sabe e se pretende seguir com o desenvolvimento em C após a faculdade, já sabe uma das coisas que deve-se evitar.

 

Acostume-se, é comum professor de faculdade insistir em ensinar essas coisas como as mais maravilhosas, por mais que existam 'n' artigos dizendo o contrário.

 

gets:

É necessário se cadastrar para acessar o conteúdo.

fflush(stdin):

É necessário se cadastrar para acessar o conteúdo.

system("pause"):

É necessário se cadastrar para acessar o conteúdo.

scanf (p/ strings):

É necessário se cadastrar para acessar o conteúdo.

void main():

É necessário se cadastrar para acessar o conteúdo.

  • Curtir 5

+ - + - + - + - + - +

FAÇO PROGRAMAS

+ - + - + - + - + - +

Link para o comentário
https://www.webcheats.com.br/topic/2244348-d%C3%BAvida-sobre-fgets/#findComment-8940605
Compartilhar em outros sites

[QUOTE="@rnxn, post: 9538708, member: 4620585"]Hahahaha. Depende, se ele te obrigar a usar esta mer-da, use... fazer o quê?! Se bem que, acredito que nesses exercícios de faculdade dificilmente haverá um grande problema utilizando esta função. O mais importante (saber que não se deve usar) você já sabe e se pretende seguir com o desenvolvimento em C após a faculdade, já sabe uma das coisas que deve-se evitar. Acostume-se, é comum professor de faculdade insistir em ensinar essas coisas como as mais maravilhosas, por mais que existam 'n' artigos dizendo o contrário. gets:[URL='http://www.gidnetwork.com/b-56.html'] http://www.gidnetwork.com/b-56.html[/URL] fflush(stdin):[URL='http://www.gidnetwork.com/b-57.html'] http://www.gidnetwork.com/b-57.html[/URL] system("pause"):[URL='http://www.gidnetwork.com/b-61.html'] http://www.gidnetwork.com/b-61.html[/URL] scanf (p/ strings):[URL='http://www.gidnetwork.com/b-62.html'] http://www.gidnetwork.com/b-62.html[/URL] void main(): [URL]http://www.gidnetwork.com/b-66.html[/URL][/QUOTE] Sério que fflush(stdin) e system("pause") também não devem ser usados? D: Meu outro professor de programação insiste nessas duas funções e o pior é que eu desconhecia que também devem ser evitados, kkkkkkkkkkkk. Bom, acho que resolvemos duas coisas em uma só. Como sempre você me ajudando. Vou dar uma lida nesses artigos e se por acaso surgir qualquer dúvida, irei atrás de você. :) Obrigado @rnxn

"Call me King, call me Demon. The Water forget the Names of the drowned."

Link para o comentário
https://www.webcheats.com.br/topic/2244348-d%C3%BAvida-sobre-fgets/#findComment-8940719
Compartilhar em outros sites

Usar pode, você é um serumaninho livre e se quiser criar uma função main que retorne void, vá em frente =)

só não pode reclamar de comportamento indefinido depois.

  • Curtir 5

+ - + - + - + - + - +

FAÇO PROGRAMAS

+ - + - + - + - + - +

Link para o comentário
https://www.webcheats.com.br/topic/2244348-d%C3%BAvida-sobre-fgets/#findComment-8940728
Compartilhar em outros sites

[QUOTE="@rnxn, post: 9538845, member: 4620585"]Usar pode, você é um serumaninho livre e se quiser criar uma função main que retorne void, vá em frente =) só não pode reclamar de comportamento indefinido depois.[/QUOTE] Eu mesmo não, me refiro ao system e fflush. Achei engraçado porque meu outro professor de programação insiste que a gente use system("pause") e fflush(stdin), e quando a gente não usa, ele não fica satisfeito... Sobre os dois estarem nessa lista é novidade pra mim, system("pause") eu já não ia com a cara dele, sobre o fflush(stdin) eu pensava que era bom usar, mas estava enganado. :D Desses ai que você citou os links, só sabia do gets() e scanf() para strings.

"Call me King, call me Demon. The Water forget the Names of the drowned."

Link para o comentário
https://www.webcheats.com.br/topic/2244348-d%C3%BAvida-sobre-fgets/#findComment-8940864
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.