Bonsoir,

Je cherches a intégrer un bout de code me permettant d'analyser un tableau
avec plusieurs agruments , comme cette ligne:

"--level 82 -t --weight 2 --mark-spam -y -a"


J'en suis là pour l'instant:

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
24
25
26
27
28
 
    int i = 0;
    char *cmd = NULL;
 
    // le getop() du pauvre, avec deux cuillères à café et strtok() //
    while ( (cmd = strtok( (i == 0) ? (char*)(argv[0]) : NULL, " "))) {
	i++;
	while (cmd[0] == '-') cmd++;
	switch ( cmd[0] ) {
	    case 't': 
	    case 'T': 
		exec[execn++] = US"--test";
		break;
	    case 'L':  /* "-L" */
	    case 'l':   /* "--level" */
		cmd = strtok(NULL, " ");
		if ( ! isdigit(cmd[0]) ) /* l'arg suivant doit être un digit */
		    break;
		exec[execn++] = US"--level";
		exec[execn++] = US cmd;
		break;
	// bla bla bla//
            default:
		break;
	};
	if ( i >= 5 ) /* stop avec 5 arguments */
	    break;
    };
Je ne suis pas mécontent de ce code (je suis débutant ), mais est-il possible d'améliorer la structure, ayant l'objectif que ce ceci doit rester 'petit' et surtout rapide.

Merci