bonjours a tous

j'ai cree une fonction regsub qui remplace des bout de chaine par des autres
je l'avait cree sans les pointeur !!
mais, je ne pouvait pas retourner le resultat de ma fonction puisque c'etait une chaine de caractere
il me fallait donc utiliser les pointeur!!!
alors voila mon programme
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
 
char * regsub(const char  *CH1,char  *SUJ,const char  *CH2)
{
 
 
 
 char *FIN; 
 
 int I;      
 int J;     
 int K;      
 int TROUVE;
 
 TROUVE=0;
 for (I=0; SUJ[I] && !TROUVE; I++)
 
 if (SUJ[I]==CH1[0])
        {
         for (J=1; CH1[J] && (CH1[J]==SUJ[I+J]); J++)
            ;
         if (CH1[J]=='\0') TROUVE=1;
        }
if (TROUVE)
    {
     I--;
 
     for (K=0; SUJ[K+I+J]; K++)
          FIN[K]=SUJ[K+I+J];
     FIN[K]='\0';
    for (K=0; CH2[K]; K++,I++)
          SUJ[I]=CH2[K];
          for (K=0; FIN[K]; K++,I++)
          SUJ[I]=FIN[K];
          SUJ[I]='\0';
    }
 
 return SUJ;
 
}
 
 
main()
{
 
char * suj2;
 
sprintf(suj2,"une fonction majoree et minoree est une fonction bornee");
 
 
suj2=regsub("fonction",suj2,"suite");
 
}
l'erreur qui m'est afficher lors de la compilation est
erreur de segmentation
etant donné que je ne maitrise pas tres bien les pointeur
quelqu'un pourrait-il m'aider!!!!!!!!!