¿Cómo comprobar que el búfer estándar contiene algunos datos?

Estaba tratando de desarrollar una aplicación de chat utilizando C sockets progtwigbles. Necesito verificar si el búfer estándar tiene algún valor para enviar el mensaje al cliente / servidor y recibirlo. Pero no sé cómo comprobar el búfer estándar para los valores. Por favor ayuda.

Desea select(2,3p) .

En los sistemas POSIX se podría hacer algo en la línea:

 FD_ZERO (&rset); FD_SET (fileno (stdin), &rset); maxfd = fileno (stdin); tv.tv_sec = 3; tv.tv_usec = 0; select (maxfd + 1, &rset, NULL, NULL, &tv); 

Esto podría ayudar

select () le da el poder de monitorear varios sockets al mismo tiempo. Le dirá cuáles están listos para leer, cuáles están listos para escribir y qué zócalos han generado excepciones, si realmente quieren saberlo.

La Guía de progtwigción de red de Beej tiene una discusión agradable y fácil de seguir al respecto.