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

  FORUM HardWare.fr
  Programmation
  C++

  Concatener des chaines de caracteres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Concatener des chaines de caracteres

n°1279742
agyspace
Posté le 09-01-2006 à 18:17:48  profilanswer
 

Salut a tous,
 
Connaissez-vous un moyen de concatener plusieurs chaines de caracteres en une ligne de commande?
 
Du genre:

Code :
  1. std::string tric = "Tric";
  2. std::string result = "Truc " + tric + " Trac ";


 
Sauf que ca, ca ne marche pas  :)  
 
(Le but etant de recuperer le resultat de la concatenation dans une string)
 
Merci d'avance.

mood
Publicité
Posté le 09-01-2006 à 18:17:48  profilanswer
 

n°1279811
Tarabiscot​e
Posté le 09-01-2006 à 19:35:02  profilanswer
 

#include<string> ?
 
Sinon, ça marche chez moi...
 
Eventuellement essaye :
std::string result = std::string("Truc " ) + tric + std::string(" Trac " );

n°1280173
agyspace
Posté le 10-01-2006 à 10:40:43  profilanswer
 

Ok en fait:
 
std::string result = std::string("Truc " ) + tric + std::string(" Trac " );
 
marche bien, mais...
 
std::string result = "Truc " + tric + " Trac ";
 
ne marche pas!

n°1280865
Tarabiscot​e
Posté le 10-01-2006 à 20:06:06  profilanswer
 

Tu utilises quel compilateur ?
 
De toute façon ça semble logique que l'on ait un string pour appeler la méthode operator+ de string.
Chez moi il doit le convertir en string implicitement, c'est tout.

n°1280941
++fab
victime du syndrome IH
Posté le 10-01-2006 à 21:22:58  profilanswer
 

Tarabiscote a écrit :

Tu utilises quel compilateur ?


un mauvais probablement :o
 

Tarabiscote a écrit :

De toute façon ça semble logique que l'on ait un string pour appeler la méthode operator+ de string.
Chez moi il doit le convertir en string implicitement, c'est tout.


J'pense pas.  
 
template <class charT, class Traits, class Alloc>
basic_string<charT,Traits,Alloc> operator+( charT const*, basic_string<charT,Traits,Alloc> const& );
 
et  
 
template <class charT, class Traits, class Alloc>
basic_string<charT,Traits,Alloc> operator+( basic_string<charT,Traits,Alloc> const&, charT const* );
 
sont obligatoirement fournies (21.3.7.1)

n°1281113
Tarabiscot​e
Posté le 11-01-2006 à 09:42:04  profilanswer
 

Merci pour la précision, j'avais pas eu le temps de vérifier.

n°1281134
agyspace
Posté le 11-01-2006 à 10:09:48  profilanswer
 

La ligne de compilation commence par vc donc je suppose qu'il s'agit du compilo integre a visual c++.
 
Quand a la definition de l'operateur +, j'utilise une version de string maison:
 
template<class _Elem,
 class _Traits,
 class _Alloc> inline
 basic_string<_Elem, _Traits, _Alloc> __cdecl operator+(
  const basic_string<_Elem, _Traits, _Alloc>& _Left,
  const _Elem _Right)
 { // return string + character
 return (basic_string<_Elem, _Traits, _Alloc>(_Left) += _Right);
 }
 
Le pb peut venir de la?

n°1281527
fat
Posté le 11-01-2006 à 17:07:46  profilanswer
 

il doit alors te manquer la fonction opertator+ symétrique, celle ou les paramètres sont inversés, le premier étant un const _Elem _Left


Message édité par fat le 11-01-2006 à 17:09:12

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

  Concatener des chaines de caracteres

 

Sujets relatifs
Afficher normalement caractères spéciaux d'une URL ("%C3%A9 --> "é")[JAVA] probleme d'affichage caracteres spéciaux
[SQL] comment insérer des chaines avec des ' (apostrophes)?problèmes caractères spéciaux.
Pb chaine de caractères[Batch] Accents et autres caractères exotiques [Résolu]
Demande d'Aide conversion de chaine de caractèresProblème messagerie (caractères illisibles...)
Pb avec les caractères ' et "convertir un nombre en chaine de caracteres
Plus de sujets relatifs à : Concatener des chaines de caracteres


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