Article View: es.comp.os.linux.programacion
Article #15801Re: fflush(stdin) se me lo pasa por el forro?
From: Isra
Date: Sun, 04 Jun 2000 00:00
Date: Sun, 04 Jun 2000 00:00
39 lines
2614 bytes
2614 bytes
Se pasa directamente porque toma el \n que hay en el buffer, ya que scanf lee
del buffer y no directamente desde teclado.
Podeis poner getch() despues de cada scanf para que coja lo que le falta. Todo
esto lo podeis ver mejor si utilizais el depurador, como el gdb, y veis el
contenido de la variable que os salta, o sea, en tu caso la del nombre, y
podr�s comprobar lo que te he comentado.
Carles =?iso-8859-1?Q?Sadurn=ED?= Anguita escribi�:
> El Sun, 4 Jun 2000 10:55:10 +0200, Santiago Romero va escriure:
> >El Sat, 27 May 2000 11:28:28 GMT, Ignacio Arenaza escribi�:
> >>Siento decirte esto precisamente a ti, pero... eso es porque lo haces
> >>mal ;-) scanf no lee ni un solo byte mas de lo que _tu_ le digas, asi
> >>que si se salta o lee de mas es porque se lo estas pidiendo ;-)
> >
> > i�aki: he llegado en un programa a poner 3 scanfs seguidos:
> >
> > scanf("%d", &numero);
> > scanf("%s", nombre);
> > scanf("%s", apellido);
> >
> > eso, simplemente... y tras meter el numero se salta el del nombre
> > y pasa directamente al apellido. En msdos poniendo un fflush(stdin)
> > entre cada scanf() no se saltaba nada... LO MISMO PASA CON GETS y
> > CON FGETS.
>
> Santi, tranquilo, estoy contigo. Me pasa exactamente igual que a ti y no s�
> c�mo resolver el problema. Si lo descubro, ser�s el segundo en saberlo. :-)
>
> Saludos
>
> --
> ------------------------------------------------------------------------
> Carles Sadurn� Anguita | no hab�a que cumplir promesas,
> | el cansancio era de placer,
> Quita _mira_la_firma para | las l�grimas eran de risas...
> responder. | y parece que a�n fue ayer.
> | Los Suaves
> ------------------------------------------------------------------------
Technical Details
Message-ID:
<393ACEEB.83DFCF09@alu.ua.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<slrn8ifed1.190.nop_linux@compiler.linux.es> <87r9av1u79.fsf@eb2ebu.ampr.org> <slrn8iq65f.mk.compiler@compiler.linux.es> <87d7ma2t6m.fsf@eb2ebu.ampr.org> <slrn8jk6be.mc.compiler@compiler.linux.es> <slrn8jkjgk.jt.isard@localhost.localdomain>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,d38036c26efcd863 X-Google-Attributes: gidf86c8,public From: Isra <ica3@alu.ua.es> Subject: Re: fflush(stdin) se me lo pasa por el forro? Date: 2000/06/04 Message-ID: <393ACEEB.83DFCF09@alu.ua.es> X-Deja-AN: 631045359 Content-Transfer-Encoding: 8bit References: <slrn8ifed1.190.nop_linux@compiler.linux.es> <87r9av1u79.fsf@eb2ebu.ampr.org> <slrn8iq65f.mk.compiler@compiler.linux.es> <87d7ma2t6m.fsf@eb2ebu.ampr.org> <slrn8jk6be.mc.compiler@compiler.linux.es> <slrn8jkjgk.jt.isard@localhost.localdomain> X-Accept-Language: es,en,ca,eu,gl Content-Type: text/plain; charset=iso-8859-1 Organization: Telefonica Transmision de Datos Mime-Version: 1.0 Newsgroups: es.comp.os.linux.programacion