Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problemas con printf

Estas en el tema de problemas con printf en el foro de C/C++ en Foros del Web. Hola: soy nuevo en el foro. Me presento y mando un saludo a todo el mundo. Espero que me podais ayudar por que la verdad ...
  #1 (permalink)  
Antiguo 19/01/2009, 13:12
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
problemas con printf

Hola: soy nuevo en el foro. Me presento y mando un saludo a todo el mundo.

Espero que me podais ayudar por que la verdad es que ya no se que hacer.

En mi practica de Redes de computadores tengo varios printf algunos sin un \n al final, por ejemplo:

Cita:
while (1)
{
printf("Esperamos conexion de algun cliente...");
size=sizeof(dir_socket_R);
error=recvfrom(sock_UDP,buffer,TAM,0,(struct sockaddr *) &dir_socket_R,&size);
//Si ha habido un error en el recvfrom el programa descartara la petición i volvera
//a esperar otra peticion
if (comprovarErrorRecvfrom (error) != 0) continue;
printf ("OK\n");
. . .
Pues bien, el primer printf no se imprime hasta que se conecta algun cliente a este programa servidor.

En cambio si hago:

Cita:
while (1)
{
printf("Esperamos conexion de algun cliente...\n");
size=sizeof(dir_socket_R);
error=recvfrom(sock_UDP,buffer,TAM,0,(struct sockaddr *) &dir_socket_R,&size);
//Si ha habido un error en el recvfrom el programa descartara la petición i volvera
//a esperar otra peticion
if (comprovarErrorRecvfrom (error) != 0) continue;
printf ("OK\n");
. . .
Si funciona, pero me pone el OK en una nueva linia, obviamente....

A que puede ser debido que no funcione el primer trozo de codigo? He intentado de todo: poner un \r, \t, \0, con la sentencia puts (que por desgracia añade un \n al final por defecto)...

Gracias.
  #2 (permalink)  
Antiguo 20/01/2009, 13:03
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problemas con printf

Hola otra vez:

Nadie tiene alguna pequeña idea? lo he preguntado a un amigo, a un monton de sitios y nadie me da un solucion. Es que no tiene solucion?

Gracias

P.D. Se me termina el tiempo, tengo que entregar la practica i no funciona como deberia funcionar por culpa de los dichosos printf.....
  #3 (permalink)  
Antiguo 20/01/2009, 13:47
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: problemas con printf

He llorado de alegria al encontralo!!!

Lo habia preguntado ya en 4 foros y al final, buscando en google, poniendo.... no me acuerdo lo que he puesto... en la pagina 15 ha salido mi preciada solucion... por fin!!!

Para el que le pase lo mismo, i se este estirando los pelos hasta quedarse calvo por semejante tonteria, ahi va la solucion:

Cita:
while (1)
{
printf ("\n ****** \n");
printf("Esperamos conexion de algun cliente...");
fflush(stdout); //<--------- Aqui esta, el maldito fflush.....
size=sizeof(dir_socket_R);
error=recvfrom(sock_UDP,buffer,TAM,0,(struct sockaddr *) &dir_socket_R,&size);
Ala, a disfrutar!

Salud gente!
  #4 (permalink)  
Antiguo 23/01/2009, 12:01
 
Fecha de Ingreso: enero-2009
Mensajes: 18
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: problemas con printf

to iba a decir que por que no usabas cout<<"mensaje"; jajajajaja creo que era mas facil asi XDD
  #5 (permalink)  
Antiguo 23/01/2009, 19:18
Avatar de cesmichael  
Fecha de Ingreso: julio-2008
Mensajes: 207
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: problemas con printf

A veces el buffer se llena y no reconoce las entradas te iba adecir que antes de poner el printf pusieras la sentencia fflush(stdin) pero bueno ya solucionaste tu problema. Creo que con añadir un \n al principio de Esperamos conexion de algun cliente tambien iba a funcionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:05.