Attention, vous recommencez à partir dans tous les sens.
Commencez par mettre au point vos fonctions "bas niveau". => lire_fichierTxt
Pour la fonction "initialiser_Audiodescription" pas de bug "systématique" mais assez fragile (valeur en dur, le "-3" sortie de nulle part, m_ dans les noms de paramètres, etc...) et, je trouve, peu clair.
Cette fonction cherche à trouver la langue de l'audiodescription. Cela ne transparait nulle part.
(Attention, si vous voulez utiliser des expressions régulières ici, la présence de cédilles et d'accents dans les valeurs possibles va rendre la chose complexe.)
Si cette fonction n'a de sens que dans le contexte d'une série, vous devriez en faire une fonction membre de la classe Serie et plus une "fonction libre".
Ok pour le code de la fonction "lire_fichierTxt", mais vous avez corrigé la version de "plus haut niveau".
Pour preuve, vous pouvez utiliser une autre "version" de la fonction "lire_fichierTxt" pour factoriser le code.
...
Pour moi, la version "std::wstring lire_fichierTxt(std::wstring const& nomFichier)" aurait dû être la fonction de plus bas niveau, ne faisant pas de découpage, mais comme les autres version de la fonction "lire_fichierTxt" le font, c'est elles qui deviennent les fonctions de bas niveau.
Quand il y a plusieurs fonctions de même nom, c'est la fonction la plus polyvalente qui devient la fonction "de base". Les autres "versions" utilisant la fonction polyvalente.
Vous devriez donc renommer les autres fonctions "lire_fichierTxt" en "lire_et_decouper_fichierTxt" par exemple.
Si les nouvelles "lire_et_decouper_fichierTxt" utilise "lire_fichierTxt", vous la transformez en fonction de plus bas niveau par rapport aux fonctions "lire_et_decouper_fichierTxt".
Pour la fonction "Serie::initialiser_Creee_par", je n'ai rien à redire.
C'est au niveau des fonctions "lire_et_decouper_fichierTxt" qu'il faut vérifier que '\r' n'est pas utilisé comme séparateur.
...
Il y a des fonctions qui ne servent à rien dans le lot, à supprimer en priorité.
En utilisant des appels à la fonction "lire_fichierTxt" (avec 1 seul paramètre) au lieu de faire du copier-coller de code, cela rendra votre code plus maintenable.
La factorisation de votre code est une priorité.
Partager