Concatener des chaines de caracteres - C++ - Programmation
Marsh Posté le 09-01-2006 à 19:35:02
#include<string> ?
Sinon, ça marche chez moi...
Eventuellement essaye :
std::string result = std::string("Truc " ) + tric + std::string(" Trac " );
Marsh Posté le 10-01-2006 à 10:40:43
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!
Marsh Posté le 10-01-2006 à 20:06:06
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.
Marsh Posté le 10-01-2006 à 21:22:58
Tarabiscote a écrit : Tu utilises quel compilateur ? |
un mauvais probablement
Tarabiscote a écrit : De toute façon ça semble logique que l'on ait un string pour appeler la méthode operator+ de string. |
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)
Marsh Posté le 11-01-2006 à 09:42:04
Merci pour la précision, j'avais pas eu le temps de vérifier.
Marsh Posté le 11-01-2006 à 10:09:48
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?
Marsh Posté le 11-01-2006 à 17:07:46
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
Marsh Posté le 09-01-2006 à 18:17:48
Salut a tous,
Connaissez-vous un moyen de concatener plusieurs chaines de caracteres en une ligne de commande?
Du genre:
Sauf que ca, ca ne marche pas
(Le but etant de recuperer le resultat de la concatenation dans une string)
Merci d'avance.