voulant recuperer la saisie clavier, j'utilise fgets.
Mais je veux limiter la saisie a un certain nb de caracteres.
J'ai créé une fonction get_saisie qui rempli un buffer avec fgets.
Quand j'affichant le buffer la limite (taille du buffer) n'est pas prise
en compte et le reste de la chaine saisie au clavier est affiché.
J'ai bien compris que fgets lit un flux jusqu'a la fin (survenu de \n ou
\0). Donc ce comportement n'est pas supprenant.
Ce que je ne comprends pas c'est le mécanisme qui fait que le reste de la
chaine est afficher. Il y a un pointeur vers le reste de la chaine dans le
buffer ? j'affiche une chaine de 10 caracteres, comment fgets fait pour
renvoyer le reste ? le buffer a bien une taille de 10 mais si la saisie
fait 30 caracteres j'ai trois affichages de 10 pour un seul appel de
fonction....?????
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Richard Delorme
Bonjours,
voulant recuperer la saisie clavier, j'utilise fgets. Mais je veux limiter la saisie a un certain nb de caracteres. J'ai créé une fonction get_saisie qui rempli un buffer avec fgets. Quand j'affichant le buffer la limite (taille du buffer) n'est pas prise en compte et le reste de la chaine saisie au clavier est affiché.
J'ai bien compris que fgets lit un flux jusqu'a la fin (survenu de n ou