Bonjour,
J’essaye d’écrire un programme qui, étant exécuté avec des paramètres, stocke le premier paramètre dans une variable (c’est le résultat recherché ici), et ensuite, l’affiche à l’écran (pour juste vérifier que c’est OK).
Par exemple, si j’appelle mon programme avec test.exe -param1 -param2 ...
, le programme doit stocker dans une variable et afficher -param1
.
Bien que le code fonctionne plus ou moins bien, j’ai l’impression de me compliquer la vie.
Peut-on faire plus simple, plus intuitif ? Avec votre expérience, comment auriez-vous fait ?
Toute la difficulté réside dans la "conversion" du char* vers le char[].
J’ai supposé que -param1
ne dépasse pas 30 caractères, par défaut.
#include <stdio.h>
#define LENGTH 30
void extract(char* p, char arr[])
{
int i = 0;
while (*p != '\0' && i < LENGTH)
{
arr[i] = *p;
i++, p++;
}
arr[i] = '\0';
}
int main(int argc, char* argv[])
{
char result[LENGTH];
if (argc > 1)
{
extract(argv[1], result);
printf("Le premier paramètre entré est : %s\n", result);
}
return 0;
}
+0
-0