Bonjour j'ai un problème dans mon code, lorsque je compile il y a aucun problème par contre quand je l'execute il me met "segmentation fault".

Voici mon code :
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
#include <stdio.h>
#include <string.h>
 
char *temp1,*temp2;
void modif(char *,char *);
 
int main()
{
 temp1="lol";
 temp2="test";
 modif(temp1,temp2);
 return 0;
}
void modif(char *ar1,char *ar2)
{
  /* Déclarations : */
  /* Noms des fichiers et pointeurs de référence */ 
  FILE *INFILE, *OUTFILE;
  /* Autres variables */
  char NOM_PERS[30];
  /* Ouverture de l'ancien fichier en lecture */
  do
    {
     INFILE = fopen("powerdale.xml", "r"); 
    }
  while (!INFILE);
 
  /* Ouverture du nouveau fichier en écriture */
  do
    {
     OUTFILE = fopen("powerdale.xml.tmp", "w"); 
	}
  while (!OUTFILE);
  /* Traitement */
  /* Copie de tous les enregistrements en   */
  /* remplaçant l'enregistrement à modifier */
  /* par sa nouvelle valeur. */
  while (!feof(INFILE))
    {
     fscanf(INFILE, "%s\n", NOM_PERS);
     if (strcmp(NOM_PERS,ar1) == 0)
          fprintf(OUTFILE, "%s\n", ar2);
     else
          fprintf(OUTFILE, "%s\n", NOM_PERS);
    }
  /* Fermeture des fichiers */
  fclose(OUTFILE);
  fclose(INFILE);
}
Si je met en commentaire la ligne "modif(temp1,temp2);" ca marche sans problème mais bon ca fait pas ce qu eje veux
J'ai chercher l'origine de cette erreur et visiblement c'est quand on essaye d'accéder à une partie de la mémoire ou on ne peut accéder. Donc c'ets sans doute un problème de pointeurs
C'est sans doute une bête erreur mais j'ai jamais été très doué avec les pointeurs.
Merci d'avance