Accueil > Forum > > > > Problème avec les std::string [VC++6.0]
Problème avec les std::string [VC++6.0]
dimanche 9 novembre 2003 à 22:32:04 |
Problème avec les std::string [VC++6.0]

D1m3x
|
Je suis en train de programmer un petit programme où j'utilise les templates, c'est la première fois que j'en utilise, alors je ne connais pas encore tout, mais cette fois-ci le problème n'est pas vraiment du aux templates mais plutôt aux strings du C++, en fait voici une class que j'ai déclaré avec 2 class templates. La première sera std::string et la deuxième int,pas plus compilqué! Dans une de mes fonctions, la fonction GiveInfos( ) de la class, j'utilise cout<<; de cette manière : // aPrenom = std::string cout << "Prenom : " << aPrenom << endl;
|
qui est censée me donné le prenom qui fut donné en premier argument du constructeur... Lors de la compilation ke reçois l'erreur: error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class st d::allocator<char> >' (or there is no acceptable conversion) Ce n'est pas vraiment la plus petite erreurs que je connaisse mais elle n'est pas trop compliquée, en fait elle me dit que aucun operateur binaire n'est déclarer pour prendre un std::string en paramètre... Donc ça voudrait dire que cout ne peut pas utiliser les strings ... :'( est-ce que quelqu'un peut m'éclairer sur ce point? Merci d'avance [DmX]
|
|
dimanche 9 novembre 2003 à 22:34:48 |
Re : Problème avec les std::string [VC++6.0]

BruNews
|
Si tu tapes un POINT derriere aPrenom, y a pas une propriete de la classe qui donne char* ? BruNews, ciao...
|
|
dimanche 9 novembre 2003 à 22:41:34 |
Re : Problème avec les std::string [VC++6.0]

D1m3x
|
Non, il n'y a rien si je met un point, j'ai aussi essayé avec le '->" rien non plus... Normalement cout accepte les string ou bien?
[DmX]
|
|
dimanche 9 novembre 2003 à 22:44:57 |
Re : Problème avec les std::string [VC++6.0]

BruNews
|
Me semblait qu'il y avait C_Str() ou un truc de ce genre. Vu que je ne fais ni DOS ni string, on va attendre un pro. BruNews, ciao...
|
|
dimanche 9 novembre 2003 à 22:48:29 |
Re : Problème avec les std::string [VC++6.0]

bouba
|
Bien sur que oui, cout accèpte les strings, a mon avis tu as du faire une autre erreur ailleurs !!! Faudré que tu nous donnes ton code pour piger le truc. Y'a peut-etre aussi un erreur dans les includes! Si tu as fait #include <string.h> // Gestion des chaînes C remplace le par #include <string> // Pour le C++ Bouba
|
|
dimanche 9 novembre 2003 à 22:48:51 |
Re : Problème avec les std::string [VC++6.0]

D1m3x
|
Alors je fait appel à un PRO des strings, non je ne parle pas d'une **** MDR :p non mais c'est sérieux j'ai besoin de ce code :) Parce que la fonction C_Str je trouve pas... :'(
SVP aidez moi
Merci d'avance
[DmX]
|
|
dimanche 9 novembre 2003 à 22:53:50 |
Re : Problème avec les std::string [VC++6.0]

D1m3x
|
non, je n'ai pas fait d'erreur autre part, je ne crois pas en tout cas, voici le code en entier, réparti sur les deux fichier : Le fichier CAdresse.h #ifndef __DP_CADRESSE_CLASS_H__ #define __DP_CADRESSE_CLASS_H__
#include "Includes.h"
#include <iostream> #include <cstring> using namespace std;
/******************************************************************** Déclaration de la classe CAdresse - qui prend 2 templates!!! *********************************************************************/
template <class A, class B> class CAdresse { private : A aPrenom, aNom, aVille, aPays;
B bCodePostal;
public :
void GiveInfos( );
CAdresse( A, A, A, A, B ); ~CAdresse( );
};
/******************************************************************** Implémentation de la class CAdresse *********************************************************************/
template <class A, class B> CAdresse<A, B>::CAdresse( A aFirstName, A aName, A aTown, A aState, B bPostalCode ) { aPrenom = aFirstName; aNom = aName; aVille = aTown; aPays = aState;
bCodePostal = bPostalCode; }
template <class A, class B> CAdresse<A, B>::~CAdresse( ) { ; }
template <class A, class B> void CAdresse<A, B>::GiveInfos( ) { cout << "Prenom : \t\t" << aPrenom << endl << "Nom de famille : \t" << aNom << endl << "Ville : \t\t" << aVille << endl << "Pays : \t\t\t" << aPays << endl << "Code Postal : \t\t" << bCodePostal << endl; }
#endif
|
Le Fichier main.cpp #include <iostream> using namespace std;
int main ( void ) { CAdresse<string, int> adress( "Greg", "Saive", "La Calamine", "Belgique", 4720 ); adress.GiveInfos( );
return 0; }
|
Le code n'a rien d'exceptionnel, il ne fait que donné le nom... mais c'est pour me faire un exemple d'utilisation des templates, je viens d'en apprendre l'utilité :) j'espère que vous allez pouvoir m'aider :) [DmX]
|
|
lundi 10 novembre 2003 à 07:14:18 |
Re : Problème avec les std::string [VC++6.0]

bouba
|
Salut, j'ai compilé ton code pour voir et ca marche nickel !!! Essais avec un autre compilateur car il ne me semble pas qu'il y ait d'erreurs dans ton code. C'est bizar !!! C'est peut être Visual C++ qu'a un bug, vu comme les produits Microsoft sont bien fait !!! Perso j'ai compilé ca sous Linux avec g++ et c'est bon. Sinon bé tu n'a plus qu'a surcharger << pour qu'il affiche des strings si ca fonctionne vraimment pas! Alé, ++. Bouba
|
|
lundi 10 novembre 2003 à 07:45:48 |
Re : Problème avec les std::string [VC++6.0]

garslouche
|
C'est BruNews qui a raison! le pb des string dans le namespace std c'est qu'il ne sont pas terminé par un \0 Pour obtenir la version "classique" d'une chaine de caractères en C il faut utiliser c_str. Donc dans ton cas: cout << "Prenom : \t\t" << aPrenom.c_str() << endl << "Nom de famille : \t" << aNom.c_str() << endl << "Ville : \t\t" << aVille.c_str() << endl << "Pays : \t\t\t" << aPays.c_str() << endl << "Code Postal : \t\t" << bCodePostal << endl;
|
|
|
lundi 10 novembre 2003 à 08:46:38 |
Re : Problème avec les std::string [VC++6.0]

D1m3x
|
Ah bon, ben merci bouba, et puis merci à garslouche et brunews, je vasi tout de suite essayer cette fonction :)
[DmX]
|
|
Cette discussion est classée dans : problème, string, class, utilise, std
Répondre à ce message
Sujets en rapport avec ce message
utlisation de la classe string [ par borgeomi ]
borgeomibonjouuuuuuur !!!!!nouveau programmeur en C ++ ( mais vieux en cobol )sous visual C++création d'une fonction qui enlève les espaces de début e
string [ par blueburry ]
bonjour,je suis en train de programmer sur visual c++.g un probleme avec les string, je fais:char nom[26];char sport[26]; string nom = &nom[0];string
string et + [ par blueburry ]
bonjour,je suis en train de programmer sur visual c++.g un probleme avec les string, je fais:char nom[26];char sport[26]; string nom = &nom[0];string
pb avec les string !!! [ par ElectricalMan ]
slt,j'ai qqs "erreurs" à la compilation ! c à s'arracher les cheveux, pouvez vous m'aider svp : #include #include #include using namespace std;<
Probleme avec pointeur urilisant string [ par Orlyn ]
Bonjour, Je viens de finir mon prog de gestion de liste d'attente avec des structures comme ceci : struct Maillon { int numero; Maillon *suivant;
probleme de map erreur de link [ par hisoka56 ]
Bonjour, j'ai un problème de link: Linking... edition.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in .... Cela
symbole externe non résolu [ par informatixa ]
Voila mon erreur et, je ces pas d'ou sa peut venir.Login.obj : error LNK2001: symbole externe non résolu "public: __thiscall ConfigFile::ConfigFile(cl
La class string [ par jderf ]
Je suis débutant et je teste la class string. Voici un code tous simple, mais y'a un probleme de conversion à la compil que je ne comprend pas. Les er
problème sur une création de classe [ par simonpelloquin ]
Bonjour, Je bloque sur un problème de définition de classe et ça commence à me prendre la tête. Est-ce que vous pourriez m'indiquer ce qui ne vas pas
Compiler un programme écrit en C++ utilisant une bibliothèque C. Erreurs... [ par Virus721 ]
Bonjour tout le monde ! :) Voila j'essaye de me coder un petit jeu avec la bibliothèque SDL 1.2 et l'aide du site du zéro. J'essaye autant que possib
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|