IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

ferror renvoie une erreur de segmentation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut ferror renvoie une erreur de segmentation
    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,
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Je crois que le comportement de ferror avec un argument NULL est indéfini

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    humpf...

    J'avais lu ce code sur un tutoriel mais je n'arrive plus à remettre la main dessus...

    Merci Diogène.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    J'avais lu ce code sur un tutoriel
    Soit faux, soit mal mémorisé.

    Mais peu importe. Ce n'est pas comme ça qu'on écrit du code correct, mais en sachant de quoi on parle. Pour ça, on se documente et on voit que ferror() n'a de sens que si une fin de lecture s'est produite...

    Ton code n'a donc aucun sens.

    http://emmanuel-delahaye.developpez....s.htm#fichiers

    Le C, ça ne se devine pas, ça s'apprend.

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Quelque peu acerbe vos propos non? Ou alors la fatigue que j'accumule qui me donne cette impression.

    Soit faux, soit mal mémorisé.
    Faux.
    J'ai fait du copier coller. Je sais c'est mal. Du copier coller, c'est pour un exemple précis... Mais là, c'était un exemple comprenant le file *toto = fopen avec un test si non NULL et le else...
    Il n'y avait pas plus simple... Et pas plus faux également.

    Mais peu importe. Ce n'est pas comme ça qu'on écrit du code correct, mais en sachant de quoi on parle. Pour ça, on se documente et on voit que ferror() n'a de sens que si une fin de lecture s'est produite...
    je suis allée voir les documentations... D'où un lien parmi tout ce que j'ai vu sur le net dans mon premier post.

    Ton code n'a donc aucun sens.
    Effectivement
    Je m'en étais rendue compte après des recherches plus poussées

    http://emmanuel-delahaye.developpez....s.htm#fichiers

    Le C, ça ne se devine pas, ça s'apprend.
    Et je me sers souvent de vos pages quand j'ai besoin de trouver quelque chose...

    Cependant, même si ça ne se devine pas, l'apprentissage passe par des erreurs, par des essais.
    La théorie pure et dure n'est rien sans application et sans erreur pour nous montrer comment progresser.

    Juste que je trouve que vous avez été un peu dur sur votre dernier message
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    Cependant, même si ça ne se devine pas, l'apprentissage passe par des erreurs, par des essais.
    La théorie pure et dure n'est rien sans application et sans erreur pour nous montrer comment progresser.

    Juste que je trouve que vous avez été un peu dur sur votre dernier message
    Certaines attitudes proches du bricolage m'énervent... surtout quand ça fini sur le forum et venant de quelqu'un qui prétend ne pas être débutante en programmation (algo, java toussa...).

    Que tu fasses des essais chez toi, à la rigueur. Mais poser une question sans s'être documenté avant, ce n'est pas sérieux et ça fait perdre du temps à tout le monde.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Debuger une erreur de segmentation
    Par Z-fly dans le forum Réseau
    Réponses: 8
    Dernier message: 14/08/2008, 02h56
  2. fsockopen en mode SSL renvoie une erreur
    Par joboy84 dans le forum Langage
    Réponses: 1
    Dernier message: 11/06/2008, 18h43
  3. [PHPMailer] N'envoie pas d'e-mail ou renvoie une erreur
    Par stanko77 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/07/2007, 20h31
  4. [JVCL] install.bat de JCL renvoie une erreur
    Par Gaadek dans le forum Delphi
    Réponses: 3
    Dernier message: 08/06/2007, 15h56
  5. Requete sql vers ORACLE qui renvoi une erreur
    Par lilou77 dans le forum Oracle
    Réponses: 7
    Dernier message: 29/01/2007, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo