Bonjour à tous!
Voici mon code:
Ma question est assez simple, lorsque je faisais dans le main ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include <stdio.h> #define NB_PARAM 3 int i; unsigned char *parametres[NB_PARAM]={"height", "width", "duree"}; unsigned char commande[255]=""; /* Cette fontion permet de vérifier qu'il y a bien le nombre de paramètres nécessaires à l'initialisation de la vidéo */ void test_parametres(char *a, char *b){ if(b==NULL){ printf("Erreur de chargement sur %s\n", a);} else{ printf("passage de la valeur\n"); printf("a:%s\n",a); printf("b:%s\n",b); a=b; } } /* Fonction main qui permet de créer un fichier vidéo */ int main(int argc,char *argv[]){ for(i=0; i<NB_PARAM; i++){ test_parametres(parametres[i],argv[i+1]); printf("parametre %d: %s\n", i, parametres[i]); } }
J'obtenais la valeur du paramètre rentré sans aucun souci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 parametres[0]=argv[2]; printf("hauteur: %s \n", parametres[0]);
J'ai voulu créer une fonction (afin de rendre mon code plus claire et plus facilement testable), lorsque j'exécute le programme, je n'obtiens plus la valeur rentrée en paramètre,
mais la valeur initiale (par exemple "height").
Je ne comprends pas parce que j'ai l'impression (fausse...) que je fais exactement la même chose..
Plutôt que de bidouiller, je voudrais comprendre où est mon erreur..
Merci
F.
Partager