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 :

Instruction pour une erreur


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut Instruction pour une erreur
    Salut,
    Je suis entrain de faire ce programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <stdio.h>
    #include <stdlib.h> 
    #include <windows.h>
    main()
    {
     
          char nom_fichier[80];
          printf ("");
          gets (nom_fichier);
          remove (nom_fichier);
          system ("pause");
          return 0;
          }
    Mais voilà mon problème , j'aimerais savoir quel instruction utiliser pour pouvoir envoyer un message d'erreur ou cas ou le fichier n'existe pas.

    Merci pour votre aide

  2. #2
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    Tu peux simplement tenter d'ouvrir le fichier...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    FILE *fd = fopen ("monfichier.ext", "r");
    int flag = 0;
     
    if (fd == NULL)
    {
        fprintf (stderr, "Le fichier n'existe pas !\n");
        /* Ici j'utilise un flag qui détermine si le fichier existe ou pas... */
        flag = 1;
    }
    else
        fclose (fd);

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Ca va merci.

    Par contre quand est-ce que l'on utilise : FILE ?
    Et pourquoi y-a-t il un * devant fd?

    Merci

  4. #4
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    C'est un pointeur (*) vers un descripteur de fichier (FILE).

    Détails dans les cours et tutoriels C ou encore dans la FAQ C.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Merci
    Par contre pour revenir à mon problème, on pourra pas utiliser un if ,else?

  6. #6
    Membre éprouvé
    Avatar de Freed0
    Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 635
    Points : 953
    Points
    953
    Par défaut
    Bah la solution que je t'ai proposée utilise un if-else, non ?

    Edit : en passant, je te déconseille fortement l'utilisation de gets(). Utilise plutôt fgets().

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Points : 17
    Points
    17
    Par défaut
    Ok merci

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par cetiop Voir le message
    Mais voilà mon problème , j'aimerais savoir quel instruction utiliser pour pouvoir envoyer un message d'erreur ou cas ou le fichier n'existe pas.
    Je conseille de lire la documentation des fonctions que l'on utilise :

    http://man.developpez.com/man3/gets.3.php
    http://man.developpez.com/man3/remove.3.php
    et pour afficher un message d'erreur :
    http://man.developpez.com/man3/perror.3.php
    Pas de Wi-Fi à la maison : CPL

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

Discussions similaires

  1. [SQL Server Compact Edition V3.5] Aide pour une erreur
    Par poupou63 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/07/2011, 11h01
  2. [MySQL] Demande d'aide pour une erreur php
    Par spespam dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 01/12/2008, 16h22
  3. Besoin d'aide pour une erreur CR_INVALID_BUFFER_USE
    Par ArkaneJouan dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 02/10/2007, 11h12
  4. Réponses: 1
    Dernier message: 25/09/2007, 09h18
  5. Aidez moi svp pour une erreur en delphi
    Par jujudrogba dans le forum Framework .NET
    Réponses: 1
    Dernier message: 04/01/2007, 17h22

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