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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] fgets et sscanf

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] fgets et sscanf

n°1450310
casafa
Posté le 30-09-2006 à 23:25:02  profilanswer
 

Bonjour,
 
J'esseye de modifier un programme C en C++.
Et j'aimerais bien trouvé l'équivalent de la fonction sscanf et fgets en C++.
 
Merci d'avance...

mood
Publicité
Posté le 30-09-2006 à 23:25:02  profilanswer
 

n°1450315
Taz
bisounours-codeur
Posté le 30-09-2006 à 23:47:43  profilanswer
 

std::getline + std::istringstream + std::istream operator>>(std::istream &, T &t);

n°1450451
casafa
Posté le 01-10-2006 à 17:28:09  profilanswer
 

Merci pour cette réponse mais j'ai en peu de mal :(
 
Voici le code C:

Code :
  1. if(sscanf(buff, " MD5Version %d", &version) == 1)
  2. {
  3. if(version!=10)
  4. {
  5.  //bad version
  6.  return 0;
  7. }
  8. }


- "buff" est un char de 256 qui contient une ligne d'un fichier
- "version" est un int;
 
Mais je n'arrive pas à refaire ça en C++. Je supose que c'est un truc du genre mais je ne trouve pas le bon *stream qui me permette d'utiliser à la fois >> et find et de fonctionner avec getline:  

Code :
  1. istringstream buffer;
  2. getline(file, buffer);
  3. if(buffer.find("MD5Version " ))
  4. {
  5. buffer >> version;
  6. if(version!=10)
  7. {
  8.  //bad version
  9.  return 0;
  10. }
  11. }


Message édité par casafa le 01-10-2006 à 17:29:04
n°1450481
Taz
bisounours-codeur
Posté le 01-10-2006 à 19:04:41  profilanswer
 

RTFM. On fait pas de l'à peu près. On commencera à t'aider quand tu auras ouvert la doc de std::getline et std::istringstream. Arrête de supposer et mets toi au travail.

n°1450510
casafa
Posté le 01-10-2006 à 20:47:14  profilanswer
 

Code :
  1. istringstream buffer;
  2. file.getline((char *)buffer.str().c_str(), 512);
  3. if(buffer.str().find("MD5Version " ))
  4. {
  5. buffer >> version;
  6. if(version!=10)
  7. {
  8.  //bad version
  9.  return false;
  10. }
  11. }


 
C'est mieux ? Mais je ne comprend vraiment pas pourquoi à l'exécutation mon code plante sur : "buffer >> version;"...

n°1450610
Taz
bisounours-codeur
Posté le 02-10-2006 à 09:42:42  profilanswer
 

Taz a écrit :

RTFM. On fait pas de l'à peu près. On commencera à t'aider quand tu auras ouvert la doc de std::getline et std::istringstream. Arrête de supposer et mets toi au travail.


 
Je décrypte : "te fiches pas de nous"


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

  [C++] fgets et sscanf

 

Sujets relatifs
sscanf et lecture de réellecture de fichier avec sscanf
Problème avec sscanf[debutant] - Probleme de saisie avec fgets.
Problème pour parser une page web au niveau de fgets().fgets et strcat
probleme avec sscanf ...Probleme fgets
problème sur un sscanf non encore rencontrée !Probleme avec fgets
Plus de sujets relatifs à : [C++] fgets et sscanf


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