C'est une lib pour parser les arguments du main type argparse le user au debut definit une liste d'option qu'il veut elle doit se finir par .type=GETARG_OPTS_END
t_getarg_option opts[] = {
{.name_short='a', .name_long="add", .type=GETARG_BOOL, .target=&value, .optional=true, .help="add something"}
{.type=GETARG_OPTS_END}
};Il y as 4 type de t_getarg_type :
GETARG_INTGETARG_BOOLGETARG_DOUBLEGETARG_STRING
en verite ya encore GETARG_HELP qui est pour moi pour pas que vous deviez l'ecrire, plus tard j'aimerai que vous aiez l'option de rajouter votre propre help func si vous le souhaitez
Support syntaxique pour :
-s--long--long=value-s value--long value-abc( si elles sont toutes des bools )
la fonction a utiliser c'est getarg_parse(int argc, char **argv, t_getarg_option *opts).
c'est elle qui vas parser tout ca et ensuite si elle retourne GETARG_OK, normalement les targets devraient etre rempli si le user les as valide.
pour installer un simple sudo make install / uninstall.
si vous voulez l'installer en local tu peux faire make install / uninstall PREFIX=/path/you/whant
#include <getarg/getarg.h.
// Let's say argc == 5 and argv == {"prog_name", "--x-value=10", "-y", "3", '--add'}
// This program would output : 13
int main(int argc, char **argv)
{
int add;
int substract;
int first_value;
int second_value;
t_getarg_option opts[] = {
{'a', "add", GETARG_BOOL, true, "add x and y"},
{'s', "substract", GETARG_BOOL, true, "substract y from x"},
{'x', "x-value", GETARG_INT, false, "the x value of the equation"},
{'y', "y-value", GETARG_INT, false, "the y value of the equation"},
{.type=GETARG_OPTS_END}
};
if (getarg_parse(argc, argv,) != GETARG_OK)
// whould shout if -x or -y arent present or other errors
return 1;
if (add == 1)
printf("%d\n", x + y);
if (substract == 1)
printf("%d\n", x - y);
return 0;
}Si tu veux tester alors faut avoir criterion sur ta machine. je l'utilise c'est tip top !