Classe cstr gérant les chaines de caracteres...

Soyez le premier à donner votre avis sur cette source.

Vue 4 735 fois - Téléchargée 292 fois

Description

Cette classe très simple permet de manipuler des chaines de caracteres: extraire une chaine de caracteres contenue dans une autre chaine de caracteres, trouver la premiere occurrence d'un caractere dans la chaine, savoir la longueur de la chaine puis les surcharges d'opérateurs tels que =, +=, +, == et !=. Bugs probables bien que testée enormément...
<<-- H@ldwin -->>

Source / Exemple :


; Exemple d'utilisation de la classe
#include "CStr.h"

int main(void)
{
	CStr t,s,a,b,ch;
	int i;

	// Surdef de >> et <<
	cout<<"Entree une chaine"<<endl;
	cin>>ch;
	cout<<"La chaine entree est :"<<ch<<endl;

	// Manipulation chaine de caracteres
	t = "MOV A,$1000";
	t.afficher();
	i = t.trouvePremiereOccurence(' ');
	s = t.extraitChaine(i);
	s.afficher();
	int nA = t.trouvePremiereOccurence(' ');
	i++;
	a = t.extraitChaine(nA-i,i);
	a.afficher();
	int nL = t.longueurChaine() - 1;
	b = t.extraitChaine(nL-nA,nA+1);
	b.afficher();

	cout<<"Appuyer sur une lettre puis sur entree"<<endl;
	cin>>i;
	return 0;
}

//// Fonctions membres et amies	de la classe CStr //////

	// Fonctions amies
friend ostream& operator<< (ostream& , const CStr& );
friend istream& operator>> (istream& , CStr& );
friend CStr operator+( const CStr & ,const CStr &);

	// Constructeurs et destructeur de la classe
CStr();
CStr(char *str);
CStr(const CStr &str);
CStr(int nTaille);
~CStr();

	// Methodes de la classe
void afficher();	// Affiche la chaine de caracteres
int longueurChaine();
void modifierCaractere(int nPosition, char c);
char renvoieCaractere(int nPosition);
CStr extraitChaine(int nTaille, int nPositionDepart = 0);
int trouvePremiereOccurence(const char &c, int nPositionDepart = 0);
CStr conversion_HexaToBin();
CStr conversion_Bin32ToHexa();
int conversion_BinToInt();
CStr conversion_IntToBin(int nbit = -1);
char *conversion_CStrToChar();
CStr suppressionCaractere(char c);
int trouvePremiereOccurence(const char *c, int nPositionDepart = 0);
	
	// Surcharge des operateurs
CStr& operator =(const CStr& string);
CStr& operator =(const char* str);
CStr& operator =(const double& val);
CStr& operator +=(const CStr& string);
CStr& operator +=(const char* str);
bool operator ==(const CStr& string);
bool operator !=(const CStr& string);

Conclusion :


NB: Cette classe nous a permis d'etre portable aussi bien sur Linux que sur Windows...

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

davwart
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1 -
en linux, ne peux tu pas utiliser qstring ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.