Programación General > C/C++
corrupcion de pila leer caracter
(1/1)
krnl64:
Hola, quiero leer un carácter de entre una serie de caracteres permitidos con scanf.
Por qué me falla este code si le estoy diciendo que lea solo 1 caracter ?
--- Código: C --- unsigned char caracter=0; scanf("%1[1234]",&caracter)
Gracias.
m0skit0:
Porque no le has dicho que es un carácter :lol:
--- Código: C ---/* No hace falta poner unsigned */char c;scanf("%c",&c);
krnl64:
Eso ya lo sabia y no es lo que queria.
Quiero que el usuario solo pueda introducir los caracteres del 1 al 4 nada más.
Como ésto:
--- Código: C --- char buffer[50];scanf("%[1234]",buffer); Eso solo dejara entrar en el buffer los numeros del 1 al 4.
Lo mismo pero para leer un caracter.
m0skit0:
--- Cita de: "krnl64" ---Eso ya lo sabia y no es lo que queria.
--- Fin de la cita ---
La próxima vez explícate mejor. :hola:
krnl64:
Vamos haber si esto se entiende.
--- Código: C --- char buffer[50];scanf("%48[1234]",buffer);
Ese code me funciona perfecto. Almacenara en buffer 48 caracteres del 1 al 4 ignorando el resto que se teclee.
Pero en vez de eso, quiero leer un caracter permitiendo solo los numeros del 1 al 4 y almacenarlo en un unsigned char.
--- Código: C --- unsigned char caracter=0;scanf("%1[1234]",&caracter)
Este código me corrompe la pila y quiero evitarlo.
Navegación
Ir a la versión completa