salut,
j'ai écrit un bout de script simplifié au maximum pour comprendre pourquoi je n'arrive pas à passer un tableau de caractère dans une fonction.
voici mon code :
Mon compilateur me met un warning et j'ai un bus error à l'execution. J'ai essayé différentes solutions, mais je n'arrive pas à récupérer le contenu de mon tableau pattern.
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 #include "libecoPCR/ecoPCR.h" #include <stdio.h> #include <string.h> #include <getopt.h> void printpattern(char *pattern, int p){ int i; for(i=0;i<p;i++){ printf("%s\n",pattern[i]); // warning: format '%s' expects type 'char *', but argument 2 has type 'int' } } int main(int argc, char **argv){ char **pattern = MALLOC(sizeof(char *),"error pattern initialisation"); int p =0; for (p=0 ; argc > optind ; optind++, p++){ pattern[p] = MALLOC(strlen(argv[optind])+1, "Error on pattern allocation"); pattern[p] = argv[optind]; } printpattern(*pattern,p); return 0; }
Merci du coup de main
Partager