Bonjour,

je voudrait faire 2 affichages pour mon programme, lorsque j’exécute mon programme en ligne de commande, l'un qui saura du style la commande 'man' comme par exemple ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
PRINTF(1)                        User Commands                        PRINTF(1)
 
NAME
       printf - format and print data
 
SYNOPSIS
       printf FORMAT [ARGUMENT]...
       printf OPTION
 
DESCRIPTION
       Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:
 
       --help display this help and exit
 
       --version
              output version information and exit
 
       FORMAT controls the output as in C printf.  Interpreted sequences are:
 
       \"     double quote
 
       \\     backslash
et l'autre comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  -t, --option   l'explication de l'option qui peut 
                 parfois être sur plusieurs ligne, 
                 mais qui reste aligné.
 
      --help     Display this help and exit.
 
      --man      Display this help following man-style
                 and exit.
J'ai essayé de le faire avec un printf pour la 2e (je n'ai pas encore réfléchit pour la première mais comme je suis là... ) mais je galère pour afficher une option qui aurait une explication trop longue! Voici que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
// ficher test d'affichage
int main(void) {
    char *s = "l'explication de l'option qui peut parfois être sur plusieurs lignes"
                  " mais qui reste aligné.";
    printf("%-20s\t%s\n", "  -t, --option", s);
    return EXIT_SUCCESS;
}
Voici le résultat qui n'est pas aligné :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
  -t, --option          l'explication de l'option qui peut parfois être sur plus
ieurs lignes mais qui reste aligné.
Quelqu'un aurait-il une idée?