Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1668 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Parser un fichier texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Parser un fichier texte

n°1870846
stagebi
Posté le 08-04-2009 à 00:25:56  profilanswer
 

Bonjour,
 
j'ai un fichier texte contenant des informations de ce style :
 
 
F=WC49B1,B,/DTS001/ACCUEIL_FICHIER/%initiator%/%ident%_CARACPEL_%parm%,
   "/opt/xcmon/scripts/xc_recept_comete.sh %localfile% %initiator%",
   "/opt/xcmon/scripts/xc_echec_recept.sh %localfile% %initiator% %date% %ident% %errcode% %errorg% %status%",,N,N
F=WC50B1,B,/DTS001/ACCUEIL_FICHIER/%initiator%/%ident%_CARACTYPMVT_%parm%,
   "/opt/xcmon/scripts/xc_recept_comete.sh %localfile% %initiator%",
F=IR1MB2,A,"/DTS001/XCM_INF/%initiator%/ir1mb2",
"/opt/xcmon/scripts/xc_recept_infocentre.sh %localfile% %initiator%",
"/opt/xcmon/scripts/xc_echec_infocentre.sh %localfile% %initiator%",,N,N
F=IR1MB3,A,"/DTS001/XCM_INF/%initiator%/ir1mb3",
"/opt/xcmon/scripts/xc_recept_infocentre.sh %localfile% %initiator%",
"/opt/xcmon/scripts/xc_echec_infocentre.sh %localfile% %initiator%",,N,N
F=IRAMB1,A,"/DTS001/XCM_INF/%initiator%/iramb1",
F=WS0DB1,B,"/DTS001/ACCUEIL_FICHIER/%initiator%/%ident%_PREDICA_HIST_%parm%",
   "/opt/xcmon/scripts/xc_recept_comete.sh %localfile% %initiator%",
   "/opt/xcmon/scripts/xc_echec_recept.sh %localfile% %initiator% %date% %ident% %errcode% %errorg% %status%",0,N,N
F=WC0NB2,B,/DTS001/ACCUEIL_FICHIER/%initiator%/%ident%_LSF_%parm%,
   "/opt/xcmon/scripts/xc_recept_comete.sh %localfile% %initiator%",
   "/opt/xcmon/scripts/xc_echec_recept.sh %localfile% %initiator% %date% %ident% %errcode% %errorg% %status%",,N,N
F=DWHFLUX1,B,/DTS001/ACCUEIL_FICHIER/xcmonprm/%ident%_SINISTRESMRA_%parm%,
   "/opt/xcmon/scripts/xc_recept_comete.sh %localfile% xcmonprm",
   "/opt/xcmon/scripts/xc_echec_recept.sh %localfile% %initiator% %date% %ident% %errcode% %errorg% %status%",,N,N
 
 
 
A partir de ce fichier, je dois afficher uniquement le le nom du fichier en entrée et celui en sortie, par exemple
pour les 3 premières lignes :
 
 
F=WC49B1,B,/DTS001/ACCUEIL_FICHIER/%initiator%/%ident%_CARACPEL_%parm%,
   "/opt/xcmon/scripts/xc_recept_comete.sh %localfile% %initiator%",
   "/opt/xcmon/scripts/xc_echec_recept.sh %localfile% %initiator% %date% %ident% %errcode% %errorg% %status%",,N,
 
 
Je dois afficher : WC49B1;_CARACPEL_
 
 
J'ai réussi a afficher le "WC49B1" en faisant
 

Code :
  1. /* Ouverture du fichier */
  2. ....
  3. /* Buffer... */
  4. ....
  5. if (!strncmp(&buf [0],"F=",2))
  6.             {
  7.                         strncpy(tmp,buf,strlen(buf)-2);
  8.                         ptrtmp+=2;
  9.                         strcpy(ligne,ptrtmp);
  10.                         ptrtmp-=2;
  11.                         len = strlen(ligne);
  12.                               // ***** ENTREE *****
  13.                               k = 0;
  14.                               while ((k<=len) && (strncmp(&ligne [k],",",1)))
  15.                                     {
  16.                                                 if ((strncmp(&ligne [k],",",1)) || (k==len))
  17.                                                             {
  18.                                                                         nom_entree[k] = ligne[k];
  19.                                                             }
  20.                                                 k++;
  21.                                     }
  22.                                     strncat(nom_entree,"\0",1);
  23.                                     printf("Fichier entree : %s || ",&nom_entree);
  24.                                     memset (nom_entree,'\0',sizeof (nom_entree));                   
  25.             }


 
Pour l'instant ça fonctionne j'ai le fichier en entrée qui s'affiche pour chaque "ligne"
 
Vous avez une idée pour avoir le nom du fichier en sortie?

mood
Publicité
Posté le 08-04-2009 à 00:25:56  profilanswer
 

n°1871778
stagebi
Posté le 09-04-2009 à 21:12:45  profilanswer
 

up


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Parser un fichier texte

 

Sujets relatifs
remplacement de chaine dans un nom de fichier.[C - librairie Gtk] mettre en place une GtkListStore
Acceder à une class à partir d'un autre fichierRécupèrer l'extention d'un fichier en php
Problème avec allocation dynamique de tableau (C)Convertir un fichier en taille fixe
Base de donné réseaux local fichier lckparser un fichier texte en php
Plus de sujets relatifs à : [C] Parser un fichier texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR