Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: snake_linux en 24 Agosto 2015, 18:12 pm



Título: Un par de conceptos que tengo que mejorar.
Publicado por: snake_linux en 24 Agosto 2015, 18:12 pm
Hola a tod@s, hago este post por no hacer dos y no ser tan pesado, el caso es que ya sé más o menos lo básico del maravilloso lenguaje C, pero los punteros aún no los manejo del todo bien y me gustaría que me recomendarais una buena lectura (en español) que expliquen bien los punteros, no solo lo básico si no también algo un poco más avanzado, pero empezando desde el principio.

Una segunda duda que tengo es que en un programilla que he hecho hace poco, scanf me deja \n en el buffer, y al volver a leerlo con fgetc (el stdin me refiero) pues fallaba por que leia ese caracter de más, lo solucioné usando fgets y eliminando el ultimo caracter del string con strlen (para eliminar de lo que había leido el \n).

¿ Qué opinan entonces sobre scanf()? ¿ Es aconsejable ? ¿ Es una mala práctica ? ¿ Es mejor usar fgets ? o si no es así ¿ cuando usar uno u otro ?.

Gracias de antemano.

Saludos.


Título: Re: Un par de conceptos que tengo que mejorar.
Publicado por: FKT en 24 Agosto 2015, 20:32 pm
Personalmente prefiero el
Código
y siempre lo uso asi que ya te imaginaras que pienso de el.
"scanf()" te deja introducir "\n" para que cuando insertes los caracteres o numeros haga un salgo de línea.

Pero "fgets()" tiene más opciones.


Título: Re: Un par de conceptos que tengo que mejorar.
Publicado por: engel lex en 24 Agosto 2015, 20:59 pm
dejo esto aquí

http://www.makigas.es/articulos/c-cpp/por-que-no-deberias-usar-scanf/ (http://www.makigas.es/articulos/c-cpp/por-que-no-deberias-usar-scanf/)


Título: Re: Un par de conceptos que tengo que mejorar.
Publicado por: snake_linux en 24 Agosto 2015, 23:07 pm
dejo esto aquí

http://www.makigas.es/articulos/c-cpp/por-que-no-deberias-usar-scanf/ (http://www.makigas.es/articulos/c-cpp/por-que-no-deberias-usar-scanf/)

Gracias por el enlace, me ha servido de mucha ayuda, tanto para saber los inconvenientes de scanf como para ver como funciona internamente.

Saludos.