Rechercher : dans
Par :

Affichage d'une chaine de caractere c++

Dernière réponse le 26 avr 2007 à 23:44:27 brahim, le 16 mar 2005 à 10:51:14 
 Signaler ce message aux modérateurs

Bonjour,

j'essaie d'ecrire une classe qui gère une chaine de caracteres, sous
DevC++, et j'ai un problem avec la methode Affichage().

je veux afficher le contenu de la chaine de caractere à partir du pointeur this.

Affichage()
{
cout<<"voici le contenu de la chaine : "<<*this->pChaine<<endl;
}

en sachant que ma classe a pour données (char * pChaine et int STaille)

la fonction Affichage() m'affiche rien!!!!! cmt dois je faire pour afficher tte la chaine.

merci

Meilleures réponses pour « Affichage d'une chaine de caractere c++ » dans :
Les chaînes de caractères en C++ Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Liste simplement chaînée VoirLISTES SIMPLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes chaînées A. Initialisation B. Insertion d'un élément dans la liste 1. Insertion...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

pom, le 16 mar 2005 à 13:50:25

Salut, fais :

Affichage()
{
cout<<"voici le contenu de la chaine : "<<this->pChaine<<endl;
}

Répondre à pom

2

pom, le 16 mar 2005 à 13:52:57

Re-salut, tu avais du confondre entre (*this).Afiichage() et this->Affichage()

Répondre à pom

3

brahim, le 16 mar 2005 à 14:21:22
  • +1

Merci pour ta reponse,

j'ai mis

Affichage()
{
cout<<"voici le contenu de la chaine : "<<this->pChaine<<endl;
}

mais ça affiche pas le contenu.


voici mon progrmme :


#include <iostream>
#include <string>

using namespace std;

class Gestion
{
int Taille;
char *pChar;
public :
Gestion();
Gestion(char *Chaine);
Gestion(Gestion & CChaine)
{
cout << "-- Constructeur par recopie --" << endl;
Taille = CChaine.Taille;
int i;
pChar = new char[Taille];
for(i=0; i<Taille;i++)
pChar[i]=CChaine.pChar[i];

}

~Gestion();
Gestion operator=(Gestion & AChaine )
{
Gestion Chaine2;
int i;
for(i=0; i<Taille;i++)
Chaine2.pChar[i]=AChaine.pChar[i];
return Chaine2;
}
void Affichage();
//void Display( BOOL bEnter );
};

Gestion::Gestion()
{
cout << "-- Constructeur --" << endl;
pChar = new char[Taille];
}

Gestion::Gestion(char *Chaine)
{
cout << "-- Constructeur initialisateur --" << endl;
//int taille2;
Taille=strlen(Chaine);
//cout << "-- Constructeur initialisateur --" << taille2<<endl;
pChar = new char[Taille];
}

Gestion::~Gestion()
{ cout << "-- Destructeur --" << endl;
delete pChar;
}

void Gestion::Affichage()
{

//this.Display();
cout << "le contenu de la chaine est : " <<this->pChar <<endl;
}


int main()
{
char quit;
quit = '\0';
//char *bnjr;
//bnjr = "bonjour";
Gestion test("bnjr");
test.Affichage();



cout << "Press q to quit " << endl;
cin >> quit;
return 0;

}

Répondre à brahim

4

pom, le 16 mar 2005 à 14:54:20

Salut, c'est normal. Ton "constructeur initialisateur" ne fait qu'allouer de la mémoire, rien d'autre.

remplace-le par :

Gestion::Gestion(char *Chaine)
{
cout << "-- Constructeur initialisateur --" << endl;
Taille=strlen(Chaine);
pChar = new char[Taille];
for(int i=0; i<Taille;i++)
pChar[i]=Chaine[i];
}

Répondre à pom

5

brahim, le 16 mar 2005 à 15:03:54

Merci!

effectivement la chaine etait vide!!!!!!!

Répondre à brahim

6

pom, le 16 mar 2005 à 15:18:07

J'aurais qq remarques a te faire. Tu passes tes arguments par reference. Tres bien. Mais assures-toi de ne pas les modifier. Je te conseille donc d'ecrire :
Gestion(const Gestion & CChaine) au lieu de Gestion(Gestion & CChaine)
Gestion operator=(const Gestion & AChaine ) au lieu de Gestion operator=(Gestion & AChaine )

Répondre à pom

7

 barsaoui, le 26 avr 2007 à 23:44:27

De nos jours les stations de télédiffusion sont de plus en plus numérisées.

En effet les signaux sont transformés en une suite de 0 et de 1 ce qui augmente la qualité de la transmission et facilite le traitement des données en provenance des serveurs et des VTR.

Nous avons donc cherché à traiter une application qui s’intègrerait dans le cadre de la numérisation des stations de télédiffusion et de leur modernisation.



Par conséquent, ce projet vise à concevoir un logiciel qui servira comme interface utilisateur destiné à commander à distance des magnétoscopes béta connus sous le nom de VTR(video tape recorder).



Semblable à la commande du VTR, cette interface sera réalisée avec le logiciel C++ BUILDER 5.0 et elle sera programmée en C++, pour nous permettre de transmettre et de recevoir des codes Hexa sur les ports série ou bien les ports parallèles du PC et du VTR.



Les communications entre le PC et le VTR sont éditées par le protocole VDCP (vidéo disc control Protocol)

mon probléme c'est que j'arrive pas à afficher le contenue de mon buffeur en binaire l'or de la reception d'une commande du vtr ou bien l'orceque je transmet?
_________________
donner pour avoir


Mohamed.Barsaoui@fsb.rnu.tn

Répondre à barsaoui