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 :

lecture d'un fichier en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Par défaut lecture d'un fichier en C
    Bonjour,

    dans le cadre de mon projet , j'aurai besoin s'il exisste des fonctions adaptées pour lire un fichier de ce type:

    DEST NDEST SELO DSTATE EC IARR PRI MDC DEST.ATTR DEST.SSET
    1 IN09702 PAD A N N ORD 0 - 0

    TCR CNP NL PBXI PA IA PRESTR PPERC PSDEST PCHI CDUR
    N N 0 - N N N - - - DEF

    ALT SDTYPE P(%) SRESTR CAT QA DCA SPCH CNT ALT.ATTR
    0 A - N A N - 0 - -

    SDEST NSDEST RT NBR CT SP SRCL CANA MNL
    1 IN09702 SPR 1101 SC 3 N - 0

    LANGID
    0

    CHI CORG CHA NCHA ICAM NCAM CP DC CM
    1 0 1 CDRCHG - - OE NDC PLS

    SPM SPA TCI NCB PT MCZ ACZ IAZ OAZ
    N N N CHA 0 0 0 0 0

    HC ICC OCC
    CI 00000000 00000000



    tout ça représente un seul enregistrement.sous forme de
    Nom du champ
    Valeur


    merci de vore aide

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    bien sûr, a peu près dans l'ordre ou tu vas devoir les utiliser :
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Par défaut
    merci ram

    par contre le fichier contient des blocs d'enregistrements et je voualis savoir comment lire ces blocs

    merci d'avance

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Dans le fichier que tu nous a présenté, visiblement, c'est du texte.

    Tu lis le fichier ligne par ligne avec la fonction fgets() et ensuite tu ranges tes valeurs dans tes enregistrements. Peut être faudra t'il extraire tes valeurs, c'est pourquoi j'ai parlé de la fonction strstr() mais suivant ton contexte, il y a peut être une autre approche plus facile.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Par défaut
    peut-être j'ai mal exprimé mon besoin , mais toutes ces lignes présentent un seul enregistrment

    avez-vous un moyen simple de lire tout le bloc en une seule fois

    en vous remerciant d'avance

  6. #6
    Candidat au Club
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut RE: differentes manieres de lecture dans un fichier
    * differentes manieres de lire dans un fichier

    Il existe aussi 3 methodes:

    fgetc: lit un caractere
    fgets: lit une chaine
    fscanf: lit une chaine formatée.

    $ fgetc

    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
    int main(int argc, char *argv[])
    {
        FILE* fichier = NULL;
        int caractereActuel = 0;
     
        fichier = fopen("test.txt", "r");
     
        if (fichier != NULL)
        {
            // Boucle de lecture des caractères un à un
            do
            {
                caractereActuel = fgetc(fichier); // On lit le caractère
                printf("%c", caractereActuel); // On l'affiche
            } while (caractereActuel != EOF); // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)
     
            fclose(fichier);
        }
     
        return 0;
    }
    $ fgets

    Pour lire une ligne:

    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
    #define TAILLE_MAX 1000 // Tableau de taille 1000
     
    int main(int argc, char *argv[])
    {
        FILE* fichier = NULL;
        char chaine[TAILLE_MAX] = ""; // Chaîne vide de taille TAILLE_MAX
     
        fichier = fopen("test.txt", "r");
     
        if (fichier != NULL)
        {
            fgets(chaine, TAILLE_MAX, fichier); // On lit maximum TAILLE_MAX caractères du fichier, on stocke le tout dans "chaine"
            printf("%s", chaine); // On affiche la chaîne
     
            fclose(fichier);
        }
     
        return 0;
    }
    pour lire tout le 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
    15
    16
    17
    18
    19
    20
    21
    #define TAILLE_MAX 1000
     
    int main(int argc, char *argv[])
    {
        FILE* fichier = NULL;
        char chaine[TAILLE_MAX] = "";
     
        fichier = fopen("test.txt", "r");
     
        if (fichier != NULL)
        {
            while (fgets(chaine, TAILLE_MAX, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
            {
                printf("%s", chaine); // On affiche la chaîne qu'on vient de lire
            }
     
            fclose(fichier);
        }
     
        return 0;
    }

Discussions similaires

  1. Lecture d'un fichier .dbf
    Par San Soussy dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 07/07/2004, 16h30
  2. Réponses: 6
    Dernier message: 02/09/2003, 15h12
  3. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40
  4. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 4
    Dernier message: 05/02/2003, 08h54
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

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