Bonjour,

Alors je m'explique, j'ai récupérer un programme qui permet de faire du POST en passant en ligne de commande l'url et les paramètre :
exemple : ./Appli URL param1=1 param2=13 ...

Le code code main commence donc évidement comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
int main(int argc, char** argv)
{
...
}
Voici ce que je souhaite faire :

En fait le but et de faire appel à la fonction qui fait le post, sans la modifier (je veut la laiser tel que je l'ai trouvé, mis à part le fait de changer son nom en "post" à la place de "main"). Le but et de lui passer les paramètres en dure depuis mon programme principale au lieu de lancer manuellement la fonction en ligne de commande et tapper les paramètres.

Exemple :

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
35
int main ()
{
  int argc;
  char **argv;
  char *url;
  char *param1;
  char *param2;
 
 
  //Ici le code de mon programme principale
 
 
  // Préparation des paramètres à envoyer à la fonction post
  param1="Num=22\0";
  param2="Dossier=22025\0";
 
  argv[0]="Appli\0"; 
  argv[1]=url;
  argv[2]=param1;
  argv[3]=param2;
 
  // appel d ela fonction post
  post(argc, argv):
 
  return 0;
}
 
 
 
 
//fonction qui fait le post (celle que j'ai récupéré)
int post(int argc, char** argv)
{
...
}
Hors ca ne marche pas, les paramètres sont bien transmis de mon main à la fonction post, mais la fonction plante par la suite. (erreur de segmentation)


Je suppose que je ne passe pas les parmètres comme il le faut. pourtant quand je les print dans la fonction post, ils ont l'air d'être bienb passé. Mais bon je sais qu'il est tjs délicat de toucher aux tableaux de pointer. Ou est l'erreur?

Un petit coup de main ne ma ferait pas de mal.
Merci d'avance !