🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#896
Author: teoria
Date: Tue, 19 Sep 2006 04:39
20 lines
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
#897
Author: Luis Angel Fdez. Fdez.
Date: Tue, 19 Sep 2006 06:37
40 lines
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
#706
Author: Jos� Luis P�rez Diez
Date: Tue, 19 Sep 2006 07:17
14 lines
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
#709
Author: teoria
Date: Tue, 19 Sep 2006 14:35
2 lines
1382 bytes
muchas gracias muchachos. Es verdad, me falta hacer el fflush(stdout)
Salu2
Re: funcion read y gets de C
#713
Author: Alberto Giménez
Date: Wed, 20 Sep 2006 20:47
12 lines
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