Forum Programmation.c Rendre un parametre de programme obligatoire

Posté par  (site Web personnel) .
Étiquettes : aucune
0
16
mar.
2006
Bonjour

Je cherche à rendre une option obligatoire dans les arguments passés à un programme.

J'ai donc le code suivant :


#include <libgnome/libgnome.h>

int main(int argc, char **argv)
{
GOptionContext *context = g_option_context_new ("pelemele");

int hauteur = 0;

GOptionEntry entries[] =
{
{ "hauteur" , 'h', 0, G_OPTION_ARG_INT, &hauteur, "hauteur du fond", NULL },
{ NULL }
};
g_option_context_add_main_entries (context, entries, NULL);
gnome_program_init("pelemele", "0.0.1", LIBGNOME_MODULE, argc, argv, GNOME_PARAM_GOPTION_CONTEXT, context, GNOME_PARAM_NONE );
g_option_context_free(context);
}


Mais je ne vois pas du tout comment faire pour rendre une option obligatoire, j'ai essayé les callbacks mais ils ne sont declenchés que si l'option est passée.

Quelqu'un a t'il une solution ?

Merci de votre aide,

Julien
  • # argc, argv

    Posté par  . Évalué à 1.

    teste la valeur argc. Si elle et égale à 1, alors il n'ya aucun argument passé. Si argc est supérieur à 1, il te suffit de tester l'argument que tu désires obligatoire voir s'il est saisi.

    Il te faut utiliser aussi la fonction suivante :
    gboolean g_option_context_parse (GOptionContext *context,
    gint *argc,
    gchar ***argv,
    GError **error);

    Parses the command line arguments, recognizing options which have been added to context. A side-effect of calling this function is that g_set_prgname() will be called.

    If the parsing is successful, any parsed arguments are removed from the array and argc and argv are updated accordingly. A '--' option is stripped from argv unless there are unparsed options before and after it, or some of the options after it start with '-'. In case of an error, argc and argv are left unmodified.

    If automatic --help support is enabled (see g_option_context_set_help_enabled()), and the argv array contains one of the recognized help options, this function will produce help output to stdout and call exit (0).

    context : a GOptionContext
    argc : a pointer to the number of command line arguments.
    argv : a pointer to the array of command line arguments.
    error : a return location for errors
    Returns : TRUE if the parsing was successful, FALSE if an error occurred

    Since 2.6


    Elle intègre toutes les options passées en ligne de commande dans le GOptionContext *context

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.