C char array comme varaible global

Taurre a marqué ce sujet comme résolu.

Bonjour, j’ai un petit soucis que je ne comprend pas. Je veut avoir un char array comme variable global dans mon code, dont je puisse modifier sa taille.

voici mon code :

 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
#include <stdio.h>

char *alphabet;

int function1(char* newstring) {


    alphabet = (char*)malloc(63);
    alphabet = "abcde...";

    printf ("%s\n", alphabet);


    strcpy(alphabet, newstring);

    return 0;
}

int main() {
   char* test="newstring";
   function1(test);

   printf ("%s\n", alphabet);

    return 0;

mon code marche bien à l’exeption de cette ligne : strcpy(alphabet, newstring);

pourquoi j’ai un segmentation fault à cette ligne ? comment résoudre ce problème ?

+0 -0

Juste pour préciser.

Du coup, la solution était d’utiliser strcpy à la ligne 9 au lieu une affectation.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte