Bonjour à vous,

J'ai ce code assez simple :

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
 
	printf("\n\nRenseignez le chemin d'acces au fichier Machine :\n");
	scanf("%256s",adresseMachine);
 
	printf("\nRenseignez le chemin d'acces au fichier Donnees :\n");
	scanf("%256s",adresseDonnees);
 
	fichierDonnees = fopen(adresseDonnees, "r");
	fichierMachine = fopen(adresseMachine, "r");
 
	if(fichierDonnees != NULL)
	{
		//traitement pour fichier ouvert
	}
	else
	{
		if (ferror(fichierDonnees))
		{
			perror("donnees.txt");
		}
		return 1;
	}
Dans le cas où je donne des noms de fichiers existant, aucune erreur.

Si je mets le nom de fichier inexistant
Renseignez le chemin d'acces au fichier Machine : plop
Renseignez le chemin d'acces au fichier Donnees : pwet

En ce cas, j'aurais le message Erreur de segmentation

Selon le man,

Ces fonctions ne devraient pas échouer, et ne positionnent donc pas la variable errno. (Toutefois, si fileno détecte que son argument n'est pas un flux valide, il doit renvoyer -1 et remplir errno avec EBADF.)
Quel est le problème? >.<

Merci à vous,