Char* Hellppppp

Mickylord Messages postés 63 Date d'inscription mardi 25 décembre 2001 Statut Membre Dernière intervention 11 février 2007 - 6 oct. 2004 à 20:01
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 - 7 oct. 2004 à 15:50
Ma question est :

Prenons :

char* titre;
int compteur;
char* ensemble;

Comment faire pour que "ensemble" regroupe les deux variables, sachant que :

char* titre = "test.bmp";
int compteur = 1;

Je voudrais donc que
ensemble = "test1.bmp"
et que si compteur est modifier, ensemble le soit également.

Merci !

6 réponses

Mickylord Messages postés 63 Date d'inscription mardi 25 décembre 2001 Statut Membre Dernière intervention 11 février 2007
6 oct. 2004 à 20:34
s'il vous plait, personne n'a une idée ? :(
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
6 oct. 2004 à 20:38
fait une classe, fait en sorte que ton construteur gere ca tout seul, met tes données membres en private et fait des accesseurs et modifieurs pour assurer la coherence de tes données. enfin utilise des strings qui seront probablement plus facile a manier. sauf si le facteur temps est tres important dans ton programme ou que tu es en C (auquel cas il faut faire une struct et non une classe, mais ca revient plus ou moins au meme). pour les strings:

#include <string>

using namespace std;
0
Mickylord Messages postés 63 Date d'inscription mardi 25 décembre 2001 Statut Membre Dernière intervention 11 février 2007
6 oct. 2004 à 20:41
j'ai du mal a bien comprendre, peut tu faire un exemple ?
Je suis en C++ ( sans mfc )
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
6 oct. 2004 à 20:49
string et classes sont du standard, pas de probleme.

bon pour un exemple tout bete (apres va fouiller SGI, ouvre google en recherche internationale, et tape "sgi stl string", tu prend la premiere page qui tombe, tu auras tt ce quil te faut pour utiliser les strings).

class ensemble
{
private:
string m_titre;
int m_compteur;
string m_result;
public:
ensemble (string titre, int compteur)
{
m_titre = titre;
m_compteur = compteur;
stringstream Str;
Str << compteur;
m_result = titre + compteur;
//m_result vaudra alors "test.bmp1", arrange toi pour lui faire avoir le format voulu
}

const string & GetResult (void) const
{return m_result;}

};

etc....je te laisse te debrouiller pour le reste, des que tu modifie le titre ou le comteur tu dois modifier le resultat selon le meme algo que lorsque tu las créé, et voila
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
steve_clamage Messages postés 475 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 11 août 2006 5
7 oct. 2004 à 15:04
Bonjours,

Il fallait plutot faire

Str << compteur;
m_result = titre + Str.str() + ".bmp" ;

Il faut aussi faire attention à toujours passer un objet string par reference et surtout, dans un constructeur, favorisé l'initialisation des membres lors de leur construction plutot que par affectation.
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
7 oct. 2004 à 15:50
vi, j'ai fait ca a l'arrache parce que j'avais pas trop de temps...si jamais l'extension est pas forcément bmp, tu devrias faire:

Str << compteur;
m_result = titre;
//pour les find_first_of et insert j'ai pas la syntaxe en tete, va voir sgi
m_result.append (m_result.find_first_of ('.'), compteur.str());

(par exemple, y'a dautres solutions, mais ca serait la plus simple..je repete, va regarder la syntaxe paske c'est pas exactement ca)
0
Rejoignez-nous