Bienvenue sur argus
Parser d'arguments en ligne de commande moderne pour C
Explorer argus
-
Commencer avec argus
Démarrez avec argus en quelques minutes :
-
Concepts fondamentaux
Maîtrisez les concepts de base :
-
Fonctionnalités avancées
Exploitez toute la puissance d'argus :
-
Référence API
Documentation complète pour les développeurs :
Caractéristiques en bref
argus offre une combinaison unique de puissance et de simplicité pour l'analyse d'arguments en ligne de commande en C :
- API élégante - Macros concises et expressives pour définir les options
- Sécurité des types - Support intégré pour les chaînes, entiers, flottants, booléens
- Collections multi-valeurs - Tableaux et mappages pour les données complexes
- Sous-commandes imbriquées - Hiérarchies de commandes de style Git/Docker
- Validation des entrées - Validateurs de plage, regex et personnalisés
- Gestion des erreurs - Messages d'erreur clairs et informatifs
- Variables d'environnement - Chargement automatique des options depuis l'environnement
- Génération d'aide - Affichage d'aide formaté et élégant
Exemple rapide
#include "argus.h"
#include <stdio.h>
// Définition des options
ARGUS_OPTIONS(
options,
HELP_OPTION(),
VERSION_OPTION(),
OPTION_FLAG('v', "verbose", HELP("Activer le mode verbeux")),
OPTION_STRING('o', "output", HELP("Fichier de sortie"), DEFAULT("output.txt")),
OPTION_INT('p', "port", HELP("Numéro de port"), RANGE(1, 65535), DEFAULT(8080)),
POSITIONAL_STRING("input", HELP("Fichier d'entrée"))
)
int main(int argc, char **argv)
{
// Initialisation d'argus
argus_t argus = argus_init(options, "mon_programme", "1.0.0");
argus.description = "Démonstrateur d'argus";
// Analyse des arguments
if (argus_parse(&argus, argc, argv) != ARGUS_SUCCESS) {
return 1;
}
// Accès aux valeurs analysées
const char *input = argus_get(argus, "input").as_string;
const char *output = argus_get(argus, "output").as_string;
int port = argus_get(argus, "port").as_int;
bool verbose = argus_get(argus, "verbose").as_bool;
printf("Configuration :\n");
printf(" Entrée : %s\n", input);
printf(" Sortie : %s\n", output);
printf(" Port : %d\n", port);
printf(" Verbeux : %s\n", verbose ? "oui" : "non");
// Libération des ressources
argus_free(&argus);
return 0;
}
Affichage d'aide automatique
Lorsque les utilisateurs invoquent votre programme avec --help, argus génère automatiquement un message d'aide formaté comme celui-ci :
mon_programme v1.0.0
Démonstrateur d'argus
Usage: mon_programme [OPTIONS] <input>
Arguments:
<input> - Fichier d'entrée
Options:
-h, --help - Afficher ce message d'aide (quitter)
-V, --version - Afficher les informations de version (quitter)
-v, --verbose - Activer le mode verbeux
-o, --output <STR> - Fichier de sortie (défaut : "output.txt")
-p, --port <NUM> - Numéro de port [1-65535] (défaut : 8080)
Obtenir de l'aide
- Guide utilisateur - Apprenez à utiliser argus étape par étape
- Référence API - Explorez la documentation complète de l'API
- GitHub - Signalez des problèmes ou contribuez au développement
Communauté
Nous accueillons les contributions et les retours de la communauté :
- Contribuer - Aidez à améliorer argus
- Licence - Licence MIT