Convertir une string en n'importe quoi

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 539 fois - Téléchargée 25 fois

Contenu du snippet

Ce code simple, sans prétention permet de transformer une string en n'importe quel autre type.

Source / Exemple :


#include <iostream>
#include <sstream>

  template < class T >
  struct check_string
  {
    static void from_string( const std::string & src, T & dest )
    {
      // créer un flux à partir de la chaîne donnée
      std::istringstream iss( src );
      
      // Conversion vers Dest
      iss >> dest;
    }
    
  }; 
  
  template < >
  struct check_string < std::string >
  {
    static void from_string( const std::string & src, std::string & dest )
    {
      dest = src;
    }
  }; 

  
  template < class T >
  void from_string( const std::string & src, T & dest )
  {
    check_string<T>::from_string( src, dest );
  }

/*********************************************/
//exemple : 
string s1("12");
string s2("14.6");
string s3("chaine de caractère");

int a;
float b;
string s;

// Convertit le 1er argument dans le type du 2eme 
from_string(s1,a);
from_string(s2,b);
from_string(s3,s);

std::cout << a << std::endl;
std::cout << b << std::endl;
std::cout << s << std::endl;

A voir également

Ajouter un commentaire Commentaires
Messages postés
118
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
2 novembre 2007

euh oui mais une structure n'est pas fait pour sa. Même si c'est possible de faire des constructeur/destructeur avec une struct si ma mémoire est bonne c'est loin d'être évident...
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Debat deja effectué maintes et maintes fois.
Tu peux très bien faire un constructeur/destructeur et hériter d'une structure comme d'une classe
Messages postés
101
Date d'inscription
vendredi 15 février 2002
Statut
Membre
Dernière intervention
6 août 2007

Oula ! Et les constructeurs/destructeurs/mécanisme d'héritage ... c'est quoi ?
Il n'y a pas qu'une SEULE difference ! ^^
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Une class = une struct, la SEULE!! différence c'est qu'une struct a ses membres public par défaut et une class a ses membres privés par défaut !!!
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
10
Perso pour moi une struct avec des fonctions, ça s'appelle une classe... D'ailleurs je ne comprends pas pourquoi les compilateurs acceptent les fonctions dans les structures...
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.