web-dev-qa-db-fra.com

Comment puis-je passer le MAIN 'ARGV [] à une fonction?

J'ai un programme capable d'accepter des arguments de ligne de commande et je souhaite accéder aux arguments, entrés par l'utilisateur, d'une fonction. Comment puis-je passer le *argv[], De int main( int argc, char *argv[]) à cette fonction? Je suis un peu nouveau dans le concept de pointeurs et *argv[] Semble un peu trop complexe pour que je puisse travailler cela seul.

L'idée est de laisser mon main aussi propre que possible en déplaçant tout le travail, que je souhaite faire avec les arguments, dans un fichier de bibliothèque. Je sais déjà ce que je dois faire avec ces arguments lorsque je parviens à les saisir en dehors de la main. Je ne sais tout simplement pas comment les obtenir là-bas.

J'utilise GCC. Merci d'avance.

18
Eternal_Light

Il suffit de passer argc et argv à votre fonction.

1
SomeResultType ParseArgs( size_t count, char**  args ) {
    // parse 'em
}

Ou...

SomeResultType ParseArgs( size_t count, char*  args[] ) {
    // parse 'em
}

Puis...

int main( int size_t argc, char* argv[] ) {
    ParseArgs( argv );
}
0
Ed S.