begin process at 2012 05 27 14:28:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > CLASSE CSTR GÉRANT LES CHAINES DE CARACTERES...

CLASSE CSTR GÉRANT LES CHAINES DE CARACTERES...


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caractères Niveau :Initié Date de création :20/01/2003 Date de mise à jour :16/03/2003 11:22:06 Vu / téléchargé :3 506 / 168

Auteur : Haldwin

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 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 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);
; 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...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

ALGO GLOUTON BASÉ SUR LA PROGRAMMATION DYNAMIQUE
Source avec Zip Source avec une capture LANCHAT CLIENT/SERVEUR (MULTICLIENTS) (MFC)
Source avec Zip Source avec une capture CTREECTRLFX: CLASSE GÉRANT AUTOMATIQUEMENT UN CHECKBOX À TRO...
Source avec Zip CRÉATION ET CHARGEMENT D'UNE DLL GRAPHIQUE (MFC)
Source avec Zip CONTROLE DE WINAMP A PARTIR DE VOTRE APPLI...

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
Source avec Zip LIBRAIRIE LANGUAGES par astro53

Commentaires et avis

Commentaire de davwart le 22/01/2003 12:04:00

en linux, ne peux tu pas utiliser qstring ?

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales