#include <stdio.h>
#include <string.h>
char* super_gets(char* buffer, size_t taille)
{
   char* result = fgets(buffer, taille, stdin);
   if (result != NULL)
   {
      char* nl = strchr(buffer, '\n');
      if (nl != NULL)
      {
         *nl = '\0';
      }
      else
      {
         /*
          * Le '\n' n'est pas present. Ca signifie qu'il reste au moins un
          * caractere dans stdin. On peut choisir de l'ignorer et de vider
          * stdin (boucle avec getchar()) ou d'agrandir dynamiquement
          * le buffer si c'est possible (malloc()) et de rappeler fgets()
          * autant de fois que necessaire...
          *
          * Si on ne fait rien, le prochain appel a getchar() ou fgets(,,stdin)
          * se fera sans attente et recuperera ce qui n'a pas ete lu...
         */
      }
   }
   return result;
}
			
		
 
	
Partager