Bonjour,
J'ai un problème, j'ai une fonction qui me permet de récuppérer le nom d'un fichier entré par l'utilisateur, puis d'ouvrir ce dit fichier. Lorsque j'appel cette fonction dans mon main après je ne peux plus créer/modifié de variables (ça me met une erreur de segmentation. Cependant, si je met le code de la fonction dans mon main (à la place de l'appeler) tout ce passe bien.
Je ne comprend absolument pas ce qu'il ce passe, donc si quelqu'un peut m'aider...
Voila 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
50
51
52
53
54
55
56
57
58
59 #include <stdlib.h> #include <stdio.h> void ouvertureFichier (void); void genererGraphe (void); int main (int argc, char * argv[]) { if (argc!=1) { printf ("Les arguments sont inutils.\n\n"); } int choix=0, erreur; printf ("Bonjour,\n\nBienvenu dans ce programme qui permet de faire des oppérations sur les graphes. Plusieurs choix s'offrent à vous (entrez le numéro du choix pour y accéder).\n"); while (choix!=3) { erreur=5; while (choix<1 || choix>3) { if (erreur==5) { printf (" 1)Ouvrir un fichier formater pour faire des oppérations dessus.\n 2)Générer un graphe complet avec des poid aléatoires\n 3)Quitter le programme\n"); erreur=0; } scanf ("%d", &choix); erreur++; } if (choix==1) { ouvertureFichier(); choix=0; } if (choix==2) { genererGraphe(); choix=0; } } return 0; } void ouvertureFichier (void) { char entree; FILE* fichier=NULL; printf ("Quelle fichier voulez-vous ouvrir ?\n"); scanf ("%s", &entree); const char *nomFichier=&entree; fichier=fopen(nomFichier, "a+"); if (fichier!=NULL) { printf ("L'ouverture du fichier a été un succés.\n"); } else { printf ("Il y a eut un problème lors de l'ouverture du fichier.\n"); } } void genererGraphe (void) { }
Merci
Partager