SIMULADOR DE UN MOVIL
Hola! Estoy haciendo un simulador de un movil y funciona bien, lo que pasa es que tengo limitado el numero de caracteres de algunas cadenas de la siguiente forma char nombre_user[23]; por ejemplo en es caso de que me pase de los 23 lo vuelve a pedir y los coje bien pero el programa en ms-dos falla y me sale una ventanita en windows en la esquina inferior derecha que el programa ha finalizado. ¿Alguien puede ayudarme? ¡Salud!
No se como estas leyendo la cadena, pero si usas scanf(), prueba a usar
char nombre_user[23];
fgets (nombre_user, 23, stdin);
La funcion fgets() lee hasta un numero maximo de caracteres (23 en este caso) y al ponerle stdin, los lee del teclado.
Devuelve el numero de caracteres leidos. Si lee justamente 23 (quizas sean 22, no se si deja uno para el de final de la cadena, deberías comprobarlo), quizas queden mas caracteres por leer. Deberías leerlos y tirarlos, para que no entorpezcan la siguente lectura.
Se bueno.
char nombre_user[23];
fgets (nombre_user, 23, stdin);
La funcion fgets() lee hasta un numero maximo de caracteres (23 en este caso) y al ponerle stdin, los lee del teclado.
Devuelve el numero de caracteres leidos. Si lee justamente 23 (quizas sean 22, no se si deja uno para el de final de la cadena, deberías comprobarlo), quizas queden mas caracteres por leer. Deberías leerlos y tirarlos, para que no entorpezcan la siguente lectura.
Se bueno.
