Bonjour,

Est-ce que quelqu'un saurait m'expliquer pour quelle raison cette fonction ne retourne pas le mot contenu dans le pointeur "*nomFich" :

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
char *lectureFichier(){
	FILE *fich;
	char ligne[LGL];
	char nomFichier[LGL];
	char *nomFich; // pointeur permettant de retourner le nom du fichier
	nomFich = ligne;
	printf("Nom du fichier a lire : ");
	fgets(ligne, LGL, stdin);
	sscanf(ligne, "%s", nomFichier);
	fich = fopen(nomFichier, "r");
	if (fich == NULL){
		printf("Ouverture impossible fichier %s\n", nomFichier);
	}
	else{
		printf("Fichier %s \n", nomFichier);
		fgets(ligne, LGL, fich); // Lecture 1ère ligne
		while (!feof(fich)) { // Tant que non fin de fichier
			printf("%s", ligne); // Imprimer ligne à l’écran
			fgets(ligne, LGL, fich); // Lecture ligne suivante
		}
		fclose(fich);
	}
	printf("Contenu de nomFich : ");
	puts(nomFich);
	return nomFich;
}

Merci pour votre aide.