J'ai un exercice à faire où je dois créer un filtre qui supprime les lignes vides au début et à la fin de cin. Évidemment, le début est facile mais je suis bloqué sur la fin. Je voulais utiliser un tableau dynamique mais ce n'est pas autorisé...
Voici le texte de l'exercice :
Dans cet exercice, développez un filtre qui supprime les lignes vides existantes au début de cin et à la fin de cin. Une ligne n'est pas vide si elle contient au moins un caractère non blanc. Si une ligne vide contient des caractères blancs, ces caractères peuvent être ignorés lors de l'écriture de cette ligne vide sur le flux de sortie standard.
Mises en garde : nous n'avons pas encore abordé les tableaux de tailles indéterminées, vous ne pouvez donc pas stocker les lignes dans un tableau, et vous n'êtes pas censé adopter l'approche Perl, où vous lisez d'abord le fichier complet, puis traitez ce que vous avez. Utiliser une variable std::string est OK, mais cette variable ne doit jamais contenir plus d'une ligne lue à partir de l'entrée standard.
Je n'ai absolument aucune idée de comment vous pouvez savoir qu'il s'agit d'une ligne vide à la fin sans savoir quelle entrée reste à venir. J'apprécierais toute aide ou astuce pour me mettre sur la bonne voie.
J'ai une deuxième question, plus petite. Il est dit fichier, mais cela signifie-t-il que cela ne doit fonctionner qu'avec un fichier d'entrée ? Pour l'instant, je ne peux le faire fonctionner qu'avec une saisie manuelle (en terminant l'entrée par une combinaison spéciale de caractères) ou en recherchant simplement une nouvelle ligne (ce qui ne fonctionne qu'avec des fichiers). Existe-t-il un moyen de terminer la numérisation de la même manière dans les deux scénarios ? (Je n'utilise qu'une boucle while pour le moment)
Et pendant que nous y sommes, je suis un peu confus par le libellé. Les lignes contenant uniquement des caractères blancs doivent-elles être imprimées ou considérées comme une ligne vide et ignorées ?
Merci d'avance !