Aide

Signaler
Messages postés
1
Date d'inscription
mercredi 18 avril 2007
Statut
Membre
Dernière intervention
23 avril 2007
-
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007
-
MaOaM




coment faire pour ajouté une variable en chaine de caracteres dans un programme en C++ ? siquelq'un sait  qu'il me le dise svp...
car moi jtrouve pa la commande.. en plus je debute dc voila...

15 réponses

Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

//en haut :
#include <string>
#using std;

//dans le code :

string maChaine = "Hello";
string maChaine2:

 maChaine2 = " World";
// exemple d'utilisation (bateau) :
cout << "maChaine a une longueur de " << maChaine.size << " caractères." << endl;
cout << maChaine << maChaine2 << endl;

// Je te conseille de consulter http://www.cplusplus.com/reference/string/string/ .
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
il faut un # devant using ?

sinon tu peux aussi utiliser des char* ou des char[x] (avec x > 1 évidemment). comme ça pas besoin de l'include string.
si tu obtiens des résultats bizarres c'est qu'il manque le caractère de fin de chaine '\0' quelque part.

encore autrement, si tu choisis de travailler avec les MFC, la classe CString est idéale pour des manipulations simples de chaînes de caractères. Il te suffit de créer un projet qui prend en compte les MFC.

J'ai une tite question : quand on utilise les namespace c'est qu'on code en DotNET ? ou bien ca n'a rien à voir ?

Loki
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

non c'est une erreur de ma part pour le using :p
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

Pour le char *, c'est quand même la méthode utilisée en C et non en C++. Et quand on connait bien la classe string, c'est beaucoup plus simple a gérer.

Les namespaces sont un concept du C et du C++ qui était la bien avant que dotNet existe. Donc ça n'a rien a voire.
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ok merci pour l'info. l'avantage du char c'est que tu sais toujours ce que t'as. c'est un type plus simple que le string ou CString puisque ce n'est pas vraiment une classe. donc tu sais toujours ce que tu fais mais inconvénient quand tu veux aller vite, t'as pas des fonctions toutes prêtes (encore que..)

Loki
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

Si tu veux "verifier" ce qu'il y a dans ton instance de string (CString => connais pas bien les MFC) utilise la méthode c_str, elle retourne un tableau de char comme en C.
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
equivalent CString : GetBuffer()

Loki
Messages postés
178
Date d'inscription
mardi 16 août 2005
Statut
Membre
Dernière intervention
25 août 2010
1
Je ne veux pas paraitre pointilleux mais les namespaces sont une notion C++ uniquement et non pas C...
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
j'ai du mal à comprendre à quoi ca sert vraiment. une petite explication serait la bienvenue

merci

Loki
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

[auteurdetail.aspx?ID=564300
]@vicenzo : T'as raison. J'ai fais quelques recherches. Je les ai deja utilisé dans du C :P donc je le ferais plus.

@Loki6 :Les namespaces servent a isoler des éléments du code. Par exemple (exemple bison), dans la lib standard t'as une classe string. Si tu veut faire ta propre classe string (comme par hasard, tu veut l'appeler "string"), il risque d'y avoire des problemes de conflits. Donc tu peut utiliser un namespace pour enlever ce problème de conflit :

namespace Loki6{
    class string{
    //...
    };
};

Dans le code un utilisera Loki6::string au lieu de string :

Loki6::string maChaine;
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ach soooooo !
faut être tordu pour piquer les string des autres :p

mouahahaha quel jeu de mot pourri bon ben merci pour l'explication.
donc de cette manière tu peux utiliser des std::string et des loki::string en même temps ?
et si tu mets juste string plouf; plouf sera de quel type ?

Loki
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

string n'est pas dans std::
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
C'est pourtant toi qui a écrit :

    //en haut :
    #include <string>
    #using std;
   
    //dans le code :
   
    string maChaine = "Hello";

il s'agit pas de std::string ?? j'y comprends plus rien

Loki
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

le using std; c'est pour utiliser cout et endl

sinon le code ca fait :

#include <string.h>
string maChaine = "Hello";

std::cout << maChaine << " World !!" << std::endl;

regarde la documentation sinon...
Messages postés
87
Date d'inscription
jeudi 22 juin 2006
Statut
Membre
Dernière intervention
24 septembre 2007

en fait si, les strings sont dans std:: :p
me suis gouré...