C'est là où le fait de bien dissocier la récupération des données et l'affichage des données montre tout son intérêt.
Si cette mise en forme ne s'applique qu'aux valeurs d'un fichier seul comme "Soundtrack.txt".
La fonction "lire_paireCleValeur_depuisFichierTxt" renvoie un ensemble de paires "clé/valeur".
Il est très simple de scanner le std::vector de paires retourné par "lire_paireCleValeur_depuisFichierTxt" pour déterminer quelle est la clé la plus longue.
Une fois cette longueur déterminé, il y bien des façons de faire.
Par exemple, la manière la plus simple, vraisemblablement, pour vous (mais pas forcément la plus pérenne), c'est de modifier le contenu du std::vector retourné par "lire_paireCleValeur_depuisFichierTxt" pour ajouter des espaces aux différentes clés des paires pour qu'elles aient toutes la même longueur que la clé la plus longue.
Une fois cette "correction" faite, vous pouvez passer ce std::vector "corrigé" à votre fonction d'affichage "générique" et elle affichera simplement les paires clé/valeur alignées impeccablement sans rien changer à cette fonction d'affichage.
Si l'alignement doit se faire sur plus de paires que celles contenus dans un seul fichier, c'est là que l'utilisation d'une instance d'objet prend son sens avec ses champs.
Partager