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

  FORUM HardWare.fr
  Programmation
  C++

  [ifstream] Lire des string constantes (fscanf vs >>)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ifstream] Lire des string constantes (fscanf vs >>)

n°1948157
Lan Wezel
Posté le 07-12-2009 à 20:56:40  profilanswer
 

Bonjour,
 
Je voudrais savoir s'il est possible de skipper des strings constantes tout en les checkant avec >> sur un ifstream.
Je pense que vu la clarté de ce que je vient de dire il vaut mieux un exemple :  
 
J'ai un fichier  
exemple.txt


produit achete=patate quantite=3
produit achete=salade quantite=6
...


 
Parsing version C

Code :
  1. FILE * pFile = fopen ("exemple.txt","r" );
  2.   int qte;
  3.   char * pdt = char[256];
  4.   while(...){
  5.     fscanf(pFile,"produit achete=%s quantite=%d>",pdt,&r);
  6.   }


Cela fonctionne.
 
Y a-t-il un moyen de faire quelquechose de similaire en C++ avec une ifstream genre :

Code :
  1. ifstream filein("exemple.txt",ios::in);
  2.   int qte;
  3.   string pdt;
  4.   while(...){
  5.     filein >> "produit achete=" >> pdt >> "quantite=" >> qte >> ws;
  6.   }


Ce qui ne fonctionne pas bien sur pour diverses raisons ( >> a pou séparateur les espaces, pas d'opérateur >> défini pour une string const comme "quantite" ...)
 
Lan Wezel


Message édité par Lan Wezel le 07-12-2009 à 21:05:48
mood
Publicité
Posté le 07-12-2009 à 20:56:40  profilanswer
 

n°1948213
Joel F
Real men use unique_ptr
Posté le 08-12-2009 à 08:35:09  profilanswer
 

utilise boost::spirit

n°1948261
Lan Wezel
Posté le 08-12-2009 à 10:26:36  profilanswer
 

Snif, je pensais qu'il aurait pu y avoir un moyen plus simple, parce que boost::spirit dans mon cas je trouve que c'est un peu le marteau pour écraser la mouche.
 
Merci en tout cas.

n°1948404
Joel F
Real men use unique_ptr
Posté le 08-12-2009 à 14:33:12  profilanswer
 

spirit v2.1 ets extremement simplifié. Un parser clé/valeur c'ets genre 10 lignes.
 
http://boost-spirit.com/home/?page_id=371

n°1948461
Lan Wezel
Posté le 08-12-2009 à 16:02:40  profilanswer
 

J'ai regardé en effet, mais comme il s'agit en fait de sérialisation, je suis en train de regarder si je peux paramétrer l'utilisation de boost::serialization et boost::archive pour réaliser ce que je veux faire.

n°1948501
Joel F
Real men use unique_ptr
Posté le 08-12-2009 à 17:30:10  profilanswer
 

oui ca parait mieux :)


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

  [ifstream] Lire des string constantes (fscanf vs >>)

 

Sujets relatifs
lire une suite de nombre séparé par une tabulation dans un fichier[xsl]gestion du retour chariot dans une variable string
Conversion string en entierFlash Action Script 3 | Lire une vidéo 1 seule fois
string java[RESOLU]couper un string
Lire le contenu d'un ftp VBA AccessEcrire et Lire dans une table
string assignlire un nombre en notation scientifique dans un fichier
Plus de sujets relatifs à : [ifstream] Lire des string constantes (fscanf vs >>)


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