Salut,
J'utilise fgets() pour lire une ligne sur l'entrée standard et le resultat est mis dans un tableau de caractere de taille fixe.
Le truc c'est que si la ligne est plus grande que ce tableau, le prochain fgets() va d'abord traiter ce qui depassait du precedent fgets()
J'imagine que c'est un probleme courant, mais je m'y étais jamais confronté
Donc, je m'aperçois que fflush(stdin) ne sert à rien, ça doit marcher que pour les flux de sortie. J'ai donc noté la presence d'une fonction fpurge(), mais le man dit que c'est pas du tout standard et normalement on ne doit pas avoir besoin d'ignorer ce qui a été entré. De toute façon ce n'est pas present sur mon systeme.
Par contre <stdio_ext.h> declare __fpurge(), que j'ai essayé et qui marche bien.
Alors, qu'est ce que je devrais faire?
Merci
Partager