Existe-t-il un moyen vraiment efficace de traiter les paramètres de la ligne de commande en C++? Ce que je fais ci-dessous me semble complètement amateur, et je ne peux pas m'imaginer comment les paramètres de la ligne de commande sont vraiment gérés (atoi, contrôles argc codés en dur) dans les logiciels professionnels.Quel est un moyen efficace d'analyser les paramètres de la ligne de commande en C++?
// Command line usage: sum num1 num2 int main(int argc, char *argv[]) { if (argc < 3) { cout << "Usage: " << argv[0] << " num1 num2\n"; exit(1); }
int a = atoi(argv[1]); int b = atoi(argv[2]); int sum = a + b;
cout << "Sum: " << sum << "\n";
return 0; }
Je pense que le code source Nunit (C#) a un bon exemple d'une classe de traitement de ligne de commande .... –
double possible de [Option Parsers pour c/C++?] (Http://stackoverflow.com/questions/637371/option-parsers-for-cc) – wilhelmtell
Pour l'exemple ci-dessus, il est parfait. Je ne ferais rien de plus complexe. Maintenant, si vous faites quelque chose comme gcc où il y a quelques milliers de drapeaux, alors une bibliothèque peut être utile, mais quand l'une est requise par rapport à l'autre dépend entièrement de la situation. –