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 :

Recherche dans un fichier binaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1
    Par défaut Recherche dans un fichier binaire
    bonjour a tout le monde bon j'ai rencontré un probleme au niveau de la recherche dans un fichier
    j'ai esseyé de faire une boucle while mais ca marche pas
    quelqu'un peu m'aider
    voila le code
    merci beaucoup

    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
    35
    36
    37
    38
    39
    40
    41
     
    #include <stdio.h>
    #include <stdlib.h>
     
    main()
    {
        int code,x,n;
        char nom[20];
        char prenom[20];
        FILE *kk;
        kk=fopen("c:/fichiers.txt","w");
        do
        {
        printf("entrer le code\n");
        scanf("%d",&code);
        fwrite("&code",sizeof(int),1,kk);
        printf("entrer le nom\n");
         scanf("%s",&nom);
         fwrite("&nom",sizeof(char),1,kk);
        printf("entrer le prenom\n");
         scanf("%s",&prenom);
      fwrite("&prenom",sizeof(char),1,kk);
      printf("esct ce que vous voulez ajouter un autre enregistremen si oui tapez 1 si non tapez 0\n");
      scanf("%d",&x);
                    }
    while(x==1);
    fclose(kk);
    kk=fopen("c:/fichiers.txt","r");
    do
    {
                                    printf("entrer le code chercher\n");
                                    scanf("%d",&n);
                                    if(!feof(kk))
                                    if(n==code)
                                    fread(&nom,sizeof(char),1,kk);
                                    fread(&prenom,sizeof(char),1,kk);
                                    printf("le valeur chercher est %s\n s\n",nom,prenom);
                                    }while(!feof(kk));
      system("PAUSE");	
      return 0;
    }

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    pense à la balise code.

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Voici ton code mis en forme.


    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    #include <stdio.h>
    #include <stdlib.h>
     
    main()
    {
    int code,x,n;
    char nom[20];
    char prenom[20];
    FILE *kk;
    kk=fopen("c:/fichiers.txt","wb");
    do
    {
    printf("entrer le code\n");
    scanf("%d",&code);
    fwrite(&code,sizeof(int),1,kk);
     
    printf("entrer le nom\n");
    scanf("%s",&nom);
    fwrite(&nom,sizeof(char), sizeof(nom),kk);
     
    printf("entrer le prenom\n");
    scanf("%s",&prenom);
    fwrite(&prenom, sizeof(char), sizeof(prenom), kk);
     
    printf("est ce que vous voulez ajouter un autre enregistremen si oui tapez 1 si non tapez 0\n");
    scanf("%d",&x);
    }
    while(x==1);
    fclose(kk);
    kk=fopen("c:/fichiers.txt","rb");
    do
    {
    printf("entrer le code chercher\n");
    scanf("%d",&n);
     
    if(!feof(kk) {
    fread(&code,sizeof(int),1,kk);
     
     
    fread(&nom,sizeof(char),sizeof(nom),kk);
    fread(&prenom,sizeof(char),sizeof(prenom),kk);
    if(n==code)
    printf("le valeur chercher est %s\n %s\n",nom,prenom);
    }
    }while(!feof(kk));
    system("PAUSE"); 
    return 0;
    }
    En mode binaire, le fichier doit etre ouvert avec "wb" et "rb". Et, la declaration de fwrite est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/04/2008, 15h04
  2. Rechercher dans un fichier avec emacs
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/11/2004, 10h28
  3. recherche dans un fichier xml (castor)
    Par pingoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 06/09/2004, 14h28
  4. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

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