
Envoyé par
odsen.s
Salut,
Il ne faut jamais utiliser gets(). Voici un extrait de man gets :
Pour ton problème, je vois bien une lecture caractère par caractère grâce à fgetc(stdin) tant que le caractère lu n'est pas EOF.
Attention à ne pas lire plus de caractères que le tableau ne peut en contenir.
Et au pire des cas, pour éviter les buffer overflow, tu peux faire un buffer alloué dynamiquement et faire une réallocation dynamique avec une croissance par progression géométrique: http://www.bourguet.org/realloc.pdf soit pour illustrer (merci à Jean-Marc.Bourguet en passant) :
new_size=old_size + old_size/2
Cela dit, si tu cherches à faire un programme ultra rapide et optimisé... les fonctions d'allocation sont parmis les plus lentes, même si pour toi cela reste rapide
Partager