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 :

Modification d'un fichier texte


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut Modification d'un fichier texte
    Bonjour,

    Je suis débutant, j'ai repris un vieux pgm, qui inclut le car ; à la fin de chaque ligne du fichier entrée dans un fichier sortie.
    Je souhaite inclure ce car à chacune des description de la structure.
    afin de créér des colonnes.
    Merci de m'aider



    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
    50
    51
    52
    53
    54
    #include <stdio.h>
    typedef char byte;
    struct journal {
    char Z1 [14];
    char Z2 [6];
    char Z3 [13];
    char Z4 [3];
    char Z5 [2];
    char Z6 [3];
    char Z7 [23];
    char Z8 [3];
    char Z9 [23];
    char Z10 [117];
    char Z11 [23];
    }; /* definition de la structure */ 
    main (int argc,char *argv[])
    {
    FILE *entree, *sortie ; /* pointeurs sur fichier */
    struct journal J1,*pt1; /* declaration du journal */ 
    long ptr_courant;
    int n =1;
    int cpt =0;
    int C3B;
    C3B=0x3B;
    if ((entree = fopen(argv[1],"r")) == (FILE *) NULL)
    {
    fprintf( stderr,"Ouverture du fichier impossible %c \n",*entree);
    exit (1);
    }
    /* fprintf( stdout,"Ouverture du fichier %s \n ",&entree); */
    /* Ouverture du fichier a ecrire */
    if ((sortie = fopen(argv[2],"w")) == NULL)
    {
    fprintf(stderr ,"Ouverture du fichier impossible \n",sortie);
    exit (1);
    }
    /* Lecture et traitement du fichier */
    while (n == 1 )
    { 
    { 
    ptr_courant = ftell (entree); /* & au pointeur du debut enreg */
    fseek (entree,ptr_courant,SEEK_SET) ;/* deplacement par rap &debut*/ 
    fwrite ((char *) & J1,sizeof(struct journal),1,sortie);
    fputc (C3B, sortie);
    cpt=cpt+1; 
    }
    n = fread ((char *)&J1,sizeof (struct journal),1,entree);
    } 
    /* printf ( "nombre de transactions rencontrées :%d \n ",cpt ); */
    /* Fermeture des fichiers */
    fflush(sortie);
    fclose(entree);
    fclose(sortie);
    }

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Pas tres bien compris, peux-tu expliquer plus en detail merci.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    Bonjour,

    j'ai un fichier que je souhaite modifier en y incluant à chaque ligne un ";"
    à chaque sous-structure
    Ex 00000000000000;000000;etc... jusqu'à 230 car

    Merci beaucoup

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    dans chaque ligne je veux rajouter 11 caractère ";"

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    Pour être plus précis j'ai un fichier en entrée avec des lignes de 230c.
    Je souhaite lire ce fichier et créer en sortie un autre fichier dans lequel j'aurai introduit un ; après chaque fin de colonne déclarée dans la structure du fichier entrée.
    En remerciant la communauté pour l'attention apportée à mon message

  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 velo83
    Pour être plus précis j'ai un fichier en entrée avec des lignes de 230c.
    Je souhaite lire ce fichier et créer en sortie un autre fichier dans lequel j'aurai introduit un ; après chaque fin de colonne déclarée dans la structure du fichier entrée.
    En remerciant la communauté pour l'attention apportée à mon message
    • 2 fichiers A et B
    • A en lecture texte, B en ecriture texte.
    • Tu lis A ligne par lignes (fgets()), tu modifies la ligne à ta convenance (prévoir de la place...), tu enregistres la ligne modifiée (ou non) dans B.
    • Quand A est terminé, tu fermes A et B.
    • C'est fini.
    Ne te précipite pas sur le codage. Ecrit l'algorithme avant... Ensuite, code l'algo. Il n'y a que comme ça que ça marche.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    j'ai du mal à insérer dans un fichier sortie après chaque champ défini dans la structure du fichier entrée un caractère ";" .
    Mon fichier sortie est la copie conforme du fichier binaire en entrée, délimité par un caractère ";" après chaque champ de la structure
    Puis-je avoir de l'aide merci

  8. #8
    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 velo83
    j'ai du mal à insérer dans un fichier sortie après chaque champ défini dans la structure du fichier entrée un caractère ";" .
    Mon fichier sortie est la copie conforme du fichier binaire en entrée, délimité par un caractère ";" après chaque champ de la structure
    Puis-je avoir de l'aide merci
    On est censés deviner le code avec lequel tu as un problème ? Donne aussi un échantillon de fichier à traiter et un modèle de résultat attendu...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    Bonjour,

    Un extrait de mon fichier en entrée, un extrait du fichier en sortie souhaité.
    Merci
    Fichiers attachés Fichiers attachés

  10. #10
    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 velo83
    Un extrait de mon fichier en entrée, un extrait du fichier en sortie souhaité.
    Il y a des caractères non imprimables dans les fichiers. Ce ne sont probablement pas des fichiers textes...

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    effectivement ce ne sont pas des fichiers textes, mais pour les mettre en pièce jointe, j'ai du leur attribuer une extension ".txt"
    Merci pour ton aide

  12. #12
    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 velo83
    effectivement ce ne sont pas des fichiers textes,
    Alors il faut donner une spécification précise.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    Emmanuel, je vous remercie pour l'attention.
    Je souhaite traiter ce fichier de journalisation de transactions
    issu d'un progiciel, en entrée pour créer le même fichier avec des séparateurs afin de travailler sur les champs ainsi découpés.
    Je ne m'intéresse pas aux caractères spéciaux.
    Je suis arrivé à mettre un séparateur à chaque fin de structure déclarée dans le journal Z1, mais en fait je souhaite mettre un séparateur àprès chaque champ.
    Je suis sûrement compliqué et inexpérimenté...!

  14. #14
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Pourquoi vouloir mettre des separateurs dans des données qui ne sont pas du texte?
    Si jamais ya des caracteres nuls dans les données, les fonctions du C concernant les chaines ne vont pas marcher ...

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 19
    Par défaut
    Bonjour,

    Il n'y a pas de caractères nul, dans mon fichier, en effet j'ai pu insérer un caractère de séparation à la fin de la structure déclarée (au total 230c)dans tout le fichier.
    Je ne sais pas, excusez moi, insérer ce même caratère après chaque champ de la structure

Discussions similaires

  1. Modification d'un fichier texte
    Par CyberSlan dans le forum C++
    Réponses: 8
    Dernier message: 05/06/2008, 16h20
  2. [AIDE] modification d'un fichier texte
    Par babap1 dans le forum C++
    Réponses: 6
    Dernier message: 16/01/2008, 11h49
  3. Réponses: 50
    Dernier message: 19/10/2007, 23h38
  4. modification d'un fichier texte
    Par didy59 dans le forum C
    Réponses: 2
    Dernier message: 25/11/2006, 11h38
  5. Réponses: 4
    Dernier message: 21/04/2006, 21h55

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