Bonjour tout le monde !
D'abbord excusez moi si le titre n'est pas très clair, j'ai du coup écrit un mini code pour expliquer mon problème.
J'essaie de faire passé un pointeur vers le "char** argv" du main en paramètre d'une autre fonction comme ceci:
Mais en sortie je reçois 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 #include <stdio.h> void print_args(int* argc, char*** argv) { for (int i = 0; i < *argc; i++) { printf("argv[%d] = %s\n", i, *argv[i]); } } int main(int argc, char** argv) { for (int i = 0; i < argc; i++) { printf("argv[%d] = %s\n", i, argv[i]); } printf("\nMaintenant la fonction:\n\n"); print_args(&argc, &argv); return 0; }
Et je n'arrive pas à comprendre pourquoi, est-ce bien de faire comme ceci ? Est-ce moi qui ai mal compris quelque chose ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 argv[0] = ./main argv[1] = hello Maintenant la fonction: argv[0] = ./main Segmentation fault (core dumped)
Voilà si quelqu'un pouvait me l'expliquer j'en serai vraiment reconnaissant car je n'arrive pas à trouver d'exemple sur internet qui essaie de faire pareil...
Sur ce, merci d'avance ! ^^
Edit: petites fautes de frappe et d'othographe, ohlala...
Partager