elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Alternativa a Gets (en C)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alternativa a Gets (en C)  (Leído 3,799 veces)
lalito22

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Alternativa a Gets (en C)
« en: 11 Noviembre 2014, 03:00 am »

Buenas noches gente, les comento mis problema estoy realizando un TP en la que en una parte me solicita aumentar sueldos a los empleados, donde se le pide al usuario primero elegir la categoria a la que quiere aumentar, o no poner nada y aumenta a todos los empleados.
Mi problema viene cuando deseo dejar el 'vacio' ya que con scanf no me lo permite ya que en la consola de linux solo salta de linea esperando a que coloque el algun caracter.

Esto lo habia solucioando con el Gets por momentos ya que en linux no es muy seguro ya que aveces lo pasa por alto.

Muchas gracias por su ayuda!
Saludos!


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Alternativa a Gets (en C)
« Respuesta #1 en: 11 Noviembre 2014, 03:22 am »

muestra tu codigo con gets (solo la sección) y usa las etiquetas geshi para publicar... explica lo de "en linux no es muy seguro"?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: Alternativa a Gets (en C)
« Respuesta #2 en: 11 Noviembre 2014, 11:00 am »

Tanto en Linux como en Windows como en cualquier lado tiene sus riesgos, si uno no usa bien gets() podes tener un buffer overflow, por ejemplo.
El se debe referir a que en Linux el compilador le advierte, en Windows si estuvieras usando Microsoft Visual Studio te advertiria lo mismo.
Si vamos al caso, una forma segura es usar fgets con stdin.
El tema es como lo vamos a usar, si tenes un buffer de 512, entonces te conviene usar:
Código:
fgets(buffer, // buffer con 512 bytes
512, // el espacio del buffer
stdin // handler de la entrada standard por teclado
);

De esta manera le estamos diciendo, LEE DEL TECLADO 512 CARACTERES MAXIMO Y GUARDALOS EN BUFFER, si son mas los corta automaticamente, si son menos (o encuentra un caracter de fin de archivo o linea nueva) termina la cadena con un '\0'
En línea

theluigy13etv

Desconectado Desconectado

Mensajes: 179


Primero se hace, después se mejora


Ver Perfil
Re: Alternativa a Gets (en C)
« Respuesta #3 en: 17 Noviembre 2014, 04:32 am »

Te recomiendo que te leas este post de Taringa que explica muy bien lo que necesitas  :)

http://www.taringa.net/post/ciencia-educacion/14450390/Lectura-de-cadenas-en-C.html
En línea

zShackra

Desconectado Desconectado

Mensajes: 59


Ver Perfil WWW
Re: Alternativa a Gets (en C)
« Respuesta #4 en: 17 Noviembre 2014, 05:23 am »

Te recomiendo que te leas este post de Taringa que explica muy bien lo que necesitas  :)

http://www.taringa.net/post/ciencia-educacion/14450390/Lectura-de-cadenas-en-C.html

Revisando el tema, veo que la función que el tío ha creado es muy semejante a la que se forja en este tema, aunque la que se expone en el tema que cito, está más pulida (modestia aparte), sin embargo con punteros se perfeccionaría aún más... K&R hicieron una obra maestra.

D.E.P. Ritchie.
« Última modificación: 17 Noviembre 2014, 05:31 am por zShackra » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Alternativa a $HTTP_REFERER
Desarrollo Web
Tapanez 1 5,334 Último mensaje 30 Diciembre 2010, 21:20 pm
por Graphixx
Alternativa a pow? [c] « 1 2 »
Programación C/C++
flacc 10 11,250 Último mensaje 11 Diciembre 2010, 15:25 pm
por pucheto
Así es Freenet, deep web alternativa a Tor e I2P
Noticias
wolfbcn 0 1,399 Último mensaje 23 Junio 2016, 21:52 pm
por wolfbcn
Alternativa a Wetransfer
Dudas Generales
carmencu206 0 1,204 Último mensaje 20 Agosto 2018, 15:21 pm
por carmencu206
Alternativa a EMU8086
Programación General
4v1dy4 0 2,658 Último mensaje 13 Enero 2023, 05:03 am
por 4v1dy4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines