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 :

supprimer un enregistrement


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Par défaut supprimer un enregistrement
    salute,

    je creer un fichier nommé exemple exemple 2 contient { azert
    sza
    wsd}

    le but de mon programme est de supprimer un enregistrement exemple :sza

    donc le fichier exemple3 dois contenir {azert
    wsd}

    le code suivant est executable mais ne donne pas le resultat juste
    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
     
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    void supprimer(char *chemin,char *chemin1,char *name)
    {FILE *f,*f1;
    char nom[50];
     f=fopen(chemin,"r");
     f1=fopen(chemin1,"w");
     if((f==NULL)&&(f1==NULL))
     printf("erreur d'ouverture");
     else
     {
     while(!feof(f))
     {
      if(fscanf(f,"%s\n",nom)!=EOF)
      {if(strcmp(nom,name)!=0)
      fprintf(f1,"%s\n",nom);
      }
      }
      fclose(f);
      fclose(f1);
      }
      }
      void main()
      {
      char name[50];
      printf("donner le nom a supprimer :");
      gets(name);
      char *chemin="c:\\test\\exemple2.txt";
      char *chemin1="c:\\test\\exemple3.txt";
      supprimer(chemin,chemin1,name);
      getch();
      }
    pouvez vous m'aidez a le corriger


    merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    révises un peu tes cours, regardes les FAQs et ce site :

    eof ne fait pas ce que tu crois, et lire un fichier ne se fait pas while(!eof))

    On utilise fgets

  3. #3
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Indente bien ton code stp. Il est complètement illisible.
    A propos de feof, voir : http://c.developpez.com/faq/?page=es_general#ES_feof.

  4. #4
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    L'utilisation de 'main' est incorrecte cf. ma signature.

    Ta condition 'if((f==NULL)&&(f1==NULL))' est incorrecte. Il faut mettre OU et non ET. Là tu testes si les 2 fichiers ne se sont pas ouverts, mais si 1 seul à pu être ouvert tu auras une belle erreur à l'exécution.

    Sinon même remarque que les autres

Discussions similaires

  1. Supprimer un enregistrement
    Par Riouxe21 dans le forum ASP
    Réponses: 14
    Dernier message: 16/07/2004, 17h43
  2. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41
  3. Supprim un enregistrement de table2 si le même dans table1
    Par arno24 dans le forum Bases de données
    Réponses: 15
    Dernier message: 27/02/2004, 22h40
  4. [LG]supprimer un enregistrement dans un fichier
    Par Marcus2211 dans le forum Langage
    Réponses: 10
    Dernier message: 17/11/2003, 00h59
  5. [VB6] Supprimer un enregistrement dans une ListView ??
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/11/2002, 09h37

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