Thread View: es.comp.os.linux.programacion
5 messages
5 total messages
Started by teoria
Tue, 19 Sep 2006 04:39
funcion read y gets de C
Author: teoria
Date: Tue, 19 Sep 2006 04:39
Date: Tue, 19 Sep 2006 04:39
20 lines
1824 bytes
1824 bytes
Hola señores. Necesito ingresar un char por teclado en un pograma en C
que estoy haciendo.
No sé bien que función usar. La que estaba usando es read(0, buf,
50); pero tengo un problema con esa función y es la siguiente:
si tengo el siguiente codigo
int main ()
{ char buf[50];
printf("HOLA");
read(0, buf, 50);
return 0;
}
lo que me hace es primero pedirme que ingrese y luego me imprime el
HOLA, cuando en realidad debería ser primero imprimir el HOLA y luego
pedir que ingrese.
Otra opcion es usar gets(buf); pero cuando compila gcc main.c -pedantic
-Wall -asni -o main.out me dice que es peligroso usar gets
Alguna sugerrencia???
Re: funcion read y gets de C
Author: Luis Angel Fdez. Fdez.
Date: Tue, 19 Sep 2006 06:37
Date: Tue, 19 Sep 2006 06:37
40 lines
2184 bytes
2184 bytes
teoria <teoriaderedes@gmail.com> escribi�:
Hola
Faltar�a #include <stdio.h> :-)
> int main ()
Y no estoy seguro, pero *creo* que esto deber�a ser int main(void)
siendo estrictos.
> { char buf[50];
> printf("HOLA");
> read(0, buf, 50);
Y supongo que en el c�digo real tratar�s los posibles errores que
puedan ocurrir.
> return 0;
> }
>
> lo que me hace es primero pedirme que ingrese y luego me imprime el
> HOLA, cuando en realidad deber�a ser primero imprimir el HOLA y
> luego pedir que ingrese.
Puedes colocar un fflush(stdout) justo despu�s del printf.
> Otra opcion es usar gets(buf); pero cuando compila gcc main.c -pedantic
> -Wall -asni -o main.out me dice que es peligroso usar gets
> Alguna sugerrencia???
Puedes utilizar fgets sobre stdin.
Ta llueu.
--
Ubuntu 6.06 (dapper) (kernel 2.6.15-26-amd64-generic x86_64)
AMD Athlon(tm) 64 Processor 3200+ (2200.149 MHz) up 4 days, 17 min
HT: C.D. Arrancatapinos (488047) VI.759 # http://muxin.no-ip.org/
SK: C.D. Arrancatapinos (18088) IV.57 # http://muxin.yi.org/
Re: funcion read y gets de C
Author: Jos� Luis P�rez Diez
Date: Tue, 19 Sep 2006 07:17
Date: Tue, 19 Sep 2006 07:17
14 lines
1810 bytes
1810 bytes
In article <1158640762.984574.308560@i42g2000cwa.googlegroups.com>, Teoria wrote: > lo que me hace es primero pedirme que ingrese y luego me imprime el > HOLA, cuando en realidad deber�a ser primero imprimir el HOLA y luego > pedir que ingrese. > No necesariamente ya que stdin y stdout normalmente utilizan memoria tampon de forma que si quieres forzar estrictamente el orden tienes que liberar los buffers -- Los programadores esta ocupados intendtado mejorar los programas a prueba de idiotas. Mientras tanto el universo intenta mejorar los idiotas. El universo va ganando
Re: funcion read y gets de C
Author: teoria
Date: Tue, 19 Sep 2006 14:35
Date: Tue, 19 Sep 2006 14:35
2 lines
1382 bytes
1382 bytes
muchas gracias muchachos. Es verdad, me falta hacer el fflush(stdout) Salu2
Re: funcion read y gets de C
Author: Alberto Giménez
Date: Wed, 20 Sep 2006 20:47
Date: Wed, 20 Sep 2006 20:47
12 lines
1740 bytes
1740 bytes
teoria wrote: > muchas gracias muchachos. Es verdad, me falta hacer el fflush(stdout) > Salu2 > La otra opci�n es terminar la cadena con '\n', cosa que si no recuerdo mal el est�ndard dice que es necesaria. Saludos. -- Luis Alberto Gim�nez JabberID: SimManiac@bulmalug.net GnuPG ID: 0x3BAABDE1
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads