bonjour !

je ne sais pas si c'est exactement ça !
mais je souhaite modifier la valeur d'une chaîne de caractère et que cette modification ce répercute à ma variable dans la fonction appelante...
strcpy est ok, mais je veux savoir comment passer ma chaine à NULL.
c'est un passage par réf q'il me faut ? (si oui comment faire (svp / merci) ?), ou tous les passage de chaine de car se font automatiquement par ref vu que ce sont des pointeurs ?

merci d'avance
skotea

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
 
int modifie(char* test) {
  //strcpy(test, "prout");
  test = NULL;
  return(EXIT_SUCCESS);
 
}
 
int main(int argc, char **argv) {
  char *test;
  if(!(test = (char *)malloc(256 * sizeof(char)))) {
    printf ("ERREUR : erreur d'allocation de memoire\n");
    return(EXIT_FAILURE);
  }
  strcpy(test, "ceci est un test");
  printf("test=%s\n", test);
  modifie(test);
  printf("modifie(test)=%s\n", test);
  return(EXIT_SUCCESS);
}
ça m'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
test=ceci est un test
test=ceci est un test