• Domingo 15 de Diciembre de 2024, 04:42

Autor Tema:  problemas con printf  (Leído 943 veces)

karkoma

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
problemas con printf
« en: Martes 20 de Enero de 2009, 20:25 »
0
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:

Citar
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 ("OKn");
. . .

Pues bien, el primer printf no se imprime hasta que se conecta algun cliente a este programa servidor.

En cambio si hago:

Citar
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 ("OKn");
. . .

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, , con la sentencia puts (que por desgracia añade un n al final por defecto)...

Gracias.

karkoma

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: problemas con printf
« Respuesta #1 en: Martes 20 de Enero de 2009, 20:45 »
0
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:

Citar
   while (1)
     {
        printf ("n ****** n");
      printf("Esperamos conexion de algun cliente...");
        fflush(stdout);
      size=sizeof(dir_socket_R);
      error=recvfrom(sock_UDP,buffer,TAM,0,(struct sockaddr *) &dir_socket_R,&size);

Ala, a disfrutar!

Salud gente!