Salut,
à force de faire des langages de script interprétés, j'en ai perdu mon C
Donc voilà le problème, j'ai besoin d'avoir une fonction a qui on passe une chaine de caractères, et que cette fonction modifie la chaine :
Code :
- #include <stdio.h>
- #include <stdlib.h>
- void pouet (char* string, int size) {
- int i;
- for (i = 0; i < size; i++) {
- printf("-> %c\n", string[i]);
- string[i] = 60; // par exemple hein
- }
- }
- int main (int argc, char *argv[]) {
- char* pouet_str = "pouetpouet";
- printf("%s\n", pouet_str);
- pouet(pouet_str, strlen(pouet_str));
- printf("%s\n", pouet_str);
- return 0;
- }
|
Voilà ce que ça me sort :
sh-3.00$ gcc -o test test.c sh-3.00$ ./test pouetpouet
-> p
Erreur de segmentation
sh-3.00$ |
Bref, ça segfault dès que j'essaie de modifier sintrg[i], et j'avoue ne pas comprendre pourquoi.
Si on pouvait m'expliquer