Dans cet exercice, on souhaite cadrer à droite une chaine de caractères sur XXX
caractères (XXX
étant un entier naturel), et ce sans utiliser le manipulateur setw ()
. Il faut donc insérer autant d’espaces que nécessaire en début de chaine de caractères. Pour cela écrire le corps de la fonction TrimRight ()
de signature :
string & TrimRight (string & Str , const unsigned long & Width);
L’algorithme de haut niveau est le suivant :
- Redimensionner
Str
àWidth
; - Décaler en partant de la fin les caractères de
Str
à leur nouvelle place ; - Remplacer tous les caractères nécessaires par des espaces.
Ecrire le corps des deux fonctions suivantes :
vector <string> & TrimRight (vector <string> & VString, const unsigned long & Width) ; vector <string> & TrimRight (vector <string> & VString, const unsigned & LineNumber, const unsigned long & Width) ;
La première cadre à droite toutes les lignes du vecteur, la seconde ne s’applique à la ligne LineNumber
.
Modifier le main ()
pour prendre en compte ses deux fonctions. L’appel de ces fonctions se fait en saisissant la chaine « tr» suivie de « tout » ou d’un numéro de ligne.
NB: L’entier Width
ne doit pas être demandé par saisie, mais est votre deuxième argument de commande à partir de maintenant. Mettez une valeur supérieure ou égale à 65.