01 // LE PROJET EN BREF
GET NEXT LINE
CLire un fichier ligne par ligne quand le système ne sait lire que des blocs d'octets.
Un des projets les plus réputés du cursus, parce qu'il semble simple et ne l'est pas. Le système d'exploitation ne connaît pas la notion de « ligne » : il rend des paquets d'octets d'une taille qu'on choisit. Le projet consiste à construire, par-dessus, une fonction qui rend une ligne complète à chaque appel — en se souvenant, d'un appel à l'autre, de ce qui a déjà été lu en trop.
Fonction get_next_line retournant une ligne complète par appel, au-dessus de read(), avec tampon persistant et taille de lecture paramétrable à la compilation.
PRINCIPALC
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONCriterion
SOURCEINSPECTOR READY
03 // APPORTS CLÉS
- Construire une abstraction « ligne » au-dessus d'une API qui ne connaît que les octets
- Fonctionne quelle que soit la taille du tampon, y compris 1 octet
- Sujet réputé simple qui piège tout le monde sur le même point : ce qui reste en mémoire entre deux appels
AU-DELÀ DU SUJET
- Tests Criterion avec jeux de données dédiés (data.txt, void.txt) couvrant le fichier vide et le fichier sans saut de ligne final
04 // ARBORESCENCE DU CODE
LECTURE DES SOURCES…