Hola, ¿cómo están?
Una consulta rapidita, alguien me puede decir que estoy haciendo mal, el puntero que devuelve fgets nunca es nulo, ¿por qué? .-
do{
ok=1;
printf("\n Ingresa el nombre del alumno [%d]......:", max+1);
if( fgets( (b+max)->nombre, 30, stdin ) == NULL ){
ok=0;
printf( "\n El dato es obligatorio..." );
printf( "\n Pulsa <Enter> para intentarlo nuevamente..." ); getchar();
}
}while(!ok);
ajustes( (b+max)->nombre );
Saludos.
Cuando pulsas enter, se envía un salto de línea al stream.
Hola, Ivan gracias por ocuparte. -
No me podrías dar alguna idea para que esta validación funcione. -
if( fgets( (b+max)->nombre, 30, stdin ) == NULL || (b+max)->nombre[0] == '\n'){
Prueba así.
Si genio, funciona a la perfección. -
Gracias.