2013-09-14 2 views
-1
while ((c = accept()> 0){ 
    // Do whatever a web server does. 
    printf("got connected\n"); 





    recv_buf[i]='\0'; 

     printf("%s\n" , recv_buf); 
    printf("input received"); 
} 

этот цикл while получает сообщение и печатает сообщение, но не печатает строку «input received», почему это так и как я ее исправить?c server code printf

+3

Попробуйте 'printf (" input received \ n ");' – lurker

+0

Работал !!! Спасибо! – user1887339

ответ

0

Я предполагаю, что вы еще не видели сообщение, напечатанное несколько раз. Вероятно, что «входные данные» все еще буферизованы в стандартном режиме. Вы должны либо позвонить fflush(stdout);, либо просто, просто используйте stderr для вашей отладки, поскольку по умолчанию он не загружается.

Если вы видели более одного сообщения, напечатанного без просмотра «введенного ввода», тогда проблема будет чем-то более коварным, но это кажется маловероятным.