begin process at 2010 02 09 19:34:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > CONVERTIR UNE STRING EN N'IMPORTE QUOI

CONVERTIR UNE STRING EN N'IMPORTE QUOI


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caractères Classé sous :string, template, convertir Niveau :Débutant Date de création :17/10/2006 Date de mise à jour :17/10/2006 17:35:25 Vu :7 292

Auteur : turnerom

Ecrire un message privé
Site perso
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

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

Source

  • #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;
#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;



 Historique

17 octobre 2006 17:35:26 :
FIX : bout de code perso inutile enlevé

 Sources du même auteur

Source avec Zip FAST BASE64 / UUENCODING ENCODAGE/DECODAGE
Source avec Zip LIBCONNECT - BIBLIOTHÈQUE C++ DE CONNEXION
UNE LISTE DOUBLEMENT CHAINEE, CIRCULAIRE ET TEMPLATES
Source avec Zip UN JUKEBOX POUR LINUX
Source avec Zip BIBLIOTHÈQUE PERMETTANT D'UTILISER LES SOCKETS DE MANIÈRE TR...

 Sources de la même categorie

Source avec Zip RECHERCHE D'ANNAGRAMMES par Torin
GESTION DE CHAINE DE CARACTÉRE EN C++ AVEC NSTRING par xmustapha
Source avec Zip COMMENTER CODE C <=> ASM (WIN64) par BruNews
Source avec Zip GSTRING - GESTION DES CHAINES DE CARACTÈRES par Neokript
Source avec Zip ANALYSEUR SYNTAXIQUEV(0.1) par kohan95

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ID3 TAG COVER ALBUM IMAGE par nanonavich
SMART POINTEUR À COMPTEUR DE RÉFÉRENCE par nirgal76
POINTEUR INTELLIGENT par snpier wolf
GESTION DE CHAINE DE CARACTÉRE EN C++ AVEC NSTRING par xmustapha
Source avec Zip GSTRING - GESTION DES CHAINES DE CARACTÈRES par Neokript

Commentaires et avis

Commentaire de nightlord666 le 17/10/2006 20:07:36

Je trouve ça totalement inutile... Mon avis est qu'on aurait pu faire ça directement avec std::istringstream, pas besoin d'un classe suplémentaire pour ça...

Commentaire de turnerom le 17/10/2006 21:20:35

Si tu veux mon avis, c'est loin d'etre inutile.
Je l'utilise avec une structure perso et une std::map<string,string>.
Ma structure contient différents champs avec différents types.
Comme ca, je peux remplir ma structure avec la map, sans avoir à me soucier du type destination.

De plus, je sais pas ou tu as vu une classe dans ce que j'ai posté !!!

Commentaire de nightlord666 le 17/10/2006 22:39:04

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...

Commentaire de turnerom le 17/10/2006 22:51:36

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 !!!

Commentaire de Maegis le 23/10/2006 12:49:33

Oula ! Et les constructeurs/destructeurs/mécanisme d'héritage ... c'est quoi ?
Il n'y a pas qu'une SEULE difference ! ^^

Commentaire de turnerom le 23/10/2006 14:07:24

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

Commentaire de Mr.X le 03/11/2006 20:18:34

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...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

convertir LPCTSTR en string [ par sampq ] Comment convertir correctement un LPCTSTR en string ???merci convertir un string en LPCTSTR [ par sampq ] Comment convertir un type string en un type LPCTSTR correctement ???merci convertir un float en string [ par hobbes ] Bonjour,Comment peut on convertire un float en string en c ????Merci,Hobbes convertir un string en char* [ par benahpets ] bonjour tt le monde je débute en C++ et j'aimerai savoir comment faire pour convertir un string en char* (et si cela est possible). merci d'avancestép Convertir String* en int avec Visuall.net [ par victorlanselle ] Bon je suis un gros boulet mas impossible de convertir un String* en int !!!Je suis sur Visual.net.J'ai test&#233; la fonction atoi mais j'y arrive se Convertir un entier en String [ par maxinfos ] Bonjour,je voudrais savoir s'il &#233;tait possible d'obtenir un code me permettant de convertir un entier (int) en String, ce afin de pouvoir nommer Comment convertir un String en Int en visual C++ SVP [ par mikacontact ] Notre probleme comme il est dit dans le sujet, c'est de convertir un string en int.Merci d'avance convertir un String* en char [ par mimyne ] Bonjour a tous malgrès toute les fonctions que g essayé je n'arrive pas a convertir un string* en char s'il y a qqun qui pourrait me renseigner je su convertir un String* en char [ par mimyne ] Bonjour a tous malgrès toute les fonctions que g essayé je n'arrive pas a convertir un string* en char s'il y a qqun qui pourrait me renseigner je su Convertir une char en string [ par juki_webmaster ] Bonjour,Je vient de faire pas mal de progrés en cpp, et je suis arriver à un probléme de variable.Je declare, et j'utilise une variable de type char :


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales