Bonjour à tous ,

J'ai un probléme au niveau de la lecture de chemin d'un fichier :
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
50

char * saisie_chemin(){
	int taille2=10, i=0;
	char *ptr,c;
	ptr = (char *) malloc (sizeof(char) * taille2);
	if (ptr==NULL) {return NULL;}
	printf("Veuillez entrer le chemin du fichier contenant la matrice :");
	scanf ("%c",&c);
	while (c != '\n'){
		if (i==taille2){
			taille2=taille2+10;
			ptr =(char*) realloc (ptr,sizeof(char)*taille2);
		}
		ptr[i++] =c;
		scanf("%c",&c);
	}
	return ptr;
} 

int main () {
	char *chemin;
	char choix=' ';
	double **matrice, **vecteur, **solution;
	int taille=0;

	while (choix !='Q'){
		affiche_menu();
		printf( "\n	Saisissez votre choix : ");
		scanf("%c",&choix);
		   switch(choix){
			    case 'B' : 
	                               chemin="C:\\cygwin\\home\\Florent\\ASR4\\Projet_math\\matrice.txt";	
				       chemin= saisie_chemin();
				       printf("chemin=>%s \n",chemin);	
			               matrice= lecture_matrice(matrice,chemin);
			               vecteur= lecture_vecteur(vecteur,chemin);
                                       taille=taille1(chemin);
			               affiche_matrice(matrice,taille);
			               affiche_vecteur(vecteur,taille);
			               determination_matrice(matrice,vecteur,taille); 
			               retour_menu();
			               break;
	             case 'Q': exit(1); 
			               break;	
	            default :  printf("Choix incorrect\n");
			               break;
	           }
	}
}

La fonction saisie_chemin() ne marche pas dans mon switch alors que si je la met en dehors , elle marche correctement. Et si je tape manuellement le chemin comme souligné ci dessus et que je met la fonction saisie_chemin() en commentaire bien sur, ca marche bien.
Je ne comprend vraiment pas mon erreur car la fonction de lecture du chemin est correcte.

Merci d'avance

Cordialement,

Flo62