/*
 * 09-nombre-b.c
 *
 * Escriba un programa que pida un nombre por la entrada estándar
 * y luego lo muestre en la pantalla.
 *
 * Note que en lugar de usar la peligrosa función gets()
 * usamos la más segura fgets().
 * fgets() toma como argumentos el puntero al espacio donde
 * debe poner los caracteres leidos, el tamaño máximo que
 * puede usar dentro de ese espacio, y el stream de caracteres
 * de donde efectuará la lectura.
 * El stream predefinido stdin es la entrada estándar.
 */

#include <stdio.h>
#define MAXLARGO	10

int
main(void)
{
	char nombre[MAXLARGO];
	char * retorno;

	printf("Ingrese su nombre: ");
	retorno= fgets(nombre, MAXLARGO-1, stdin);

	/* Note que estamos mostrando el valor de nombre
	 * antes de verificar si fgets() retorno algo
	 * distinto de NULL: cuando fgets() retorna NULL
	 * en general nombre contiene la basura propia de
	 * una inicialización automática.
	 */
	
	printf("[%s]\n", nombre);
	if ( retorno == NULL )
		printf("fgets() retorno NULL\n");
	else
		printf("fgets() retorno [%s]\n", retorno);

	return 0;
}
