Je me demandais simplement si en C est-il possible de jeter un coup d'oeil dans le tampon d'entrée ou d'effectuer une ruse similaire pour savoir si un appel à fgets bloquerait plus tard. Java permet de faire quelque chose comme ça en appelant BufferedReader.ready(), de cette façon que je peux mettre en œuvre quelque chose d'entrée de la console comme ceci:vérifier si fgets bloquerait
while (on && in.ready()) {
line = in.readLine();
/* do something with line */
if (!in.ready())
Thread.sleep(100);
}
cela permet un filet extérieur de grâce shutdown la boucle d'entrée en mettant à faux ; Je voudrais effectuer une implémentation similaire en C sans avoir recours à des astuces non portables, je sais déjà que je peux faire un "time out" sous unix en recourant à des signaux ou (mieux, même si besoin de prendre soin de tamponner) réimplement au dessus de recv/select, mais je préférerais quelque chose qui fonctionnerait aussi sur windows.
TIA
Select fonctionne sur Windows aussi: http://msdn.microsoft.com/en-us/library/ms740141%28VS.85%29.aspx – nc3b
@ NC3B: La fonction select' de Windows 'fonctionne uniquement avec les sockets . –
@Marcelo Cantos: Oh, désolé ne savait pas: "> – nc3b