scanf("%[^\n]", nomb);
Publicado por Jonas (2 intervenciones) el 04/07/2006 08:59:35
Tengo lo siguiente:
#include <stdio.h>
#include <conio.h>
int i;
char nomb[65], resp = 's';
main()
{
while(toupper(resp) != 'N')
{
.
.
.
scanf("%[^\n]", nomb);
.
.
.
scanf("%f", ¬a);
.
.
.
gotoxy(31, 23);
printf("Desea Continuar: ");
resp = getche();
}
}
El problema es que estoy usando scanf("%[^\n]", nomb) para leer un nombre que puede contener espacios en blanco, luego de introducir y porcesar el resto de la información pregunto al usuario si desea continuar y leo la restpuesta utilizando getche(). Cuando digo que sí ('s') y se repite el ciclo while no realiza la lectura scanf("%[^\n]", nomb), sino que se la salta como si nada y deja la cadena vacia. Probé usando scanf("%[^\n]\n", nomb), pero despues de leer el nombre se detinene y no continua con la siguiente lectura.
Si hay alquien que entienda lo que me esta pasando y cual es la solución les agradecería me la de ya que he estado probando de muchas manera y no se que más hacer...Gracias
#include <stdio.h>
#include <conio.h>
int i;
char nomb[65], resp = 's';
main()
{
while(toupper(resp) != 'N')
{
.
.
.
scanf("%[^\n]", nomb);
.
.
.
scanf("%f", ¬a);
.
.
.
gotoxy(31, 23);
printf("Desea Continuar: ");
resp = getche();
}
}
El problema es que estoy usando scanf("%[^\n]", nomb) para leer un nombre que puede contener espacios en blanco, luego de introducir y porcesar el resto de la información pregunto al usuario si desea continuar y leo la restpuesta utilizando getche(). Cuando digo que sí ('s') y se repite el ciclo while no realiza la lectura scanf("%[^\n]", nomb), sino que se la salta como si nada y deja la cadena vacia. Probé usando scanf("%[^\n]\n", nomb), pero despues de leer el nombre se detinene y no continua con la siguiente lectura.
Si hay alquien que entienda lo que me esta pasando y cual es la solución les agradecería me la de ya que he estado probando de muchas manera y no se que más hacer...Gracias
Valora esta pregunta


0