Stl: la classe string (ou comment abandonner les char[] )

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 395 fois - Téléchargée 39 fois

Contenu du snippet

La classe string permet de definitivement se dispenser des char[]

Source / Exemple :


//Cette classe definit une chaine de caracteres.

#include <stdio.h>
#include <string>

int main(int argc, char ** argv){
		
	//declaration d'une chaine de caracteres vide
	std::string chaine1;
	std::string chaine2;

	//assignation 
	chaine1 = "Je suis chaine1";
	chaine2 = "Et moi chaine2";

	//on affiche grace a la methode c_str() de cette classe.
	//c_str() nous renvois un char * 

	printf("%s\n", chaine1.c_str());
	printf("%s\n", chaine2.c_str());

	//copie dans une troisieme chaine le contenu de chaine1
	std::string result;	
	result = chaine1;

		//on ajoute un espace a la fin de la chaine result
	result += ' ';

		//on ajoute chaine2 a la fin de result
	result += chaine2;
		
		//on affiche result
	printf("\nApres concatenation\n");
	printf("%s\n", result.c_str());

	return 0;
}
//neiger@ifrance.com

Conclusion :


Tout commentaire sera bienvenu

A voir également

Ajouter un commentaire Commentaires
Messages postés
11
Date d'inscription
jeudi 12 mai 2005
Statut
Membre
Dernière intervention
16 juin 2005

salut moi je voudrais savoir commen je pourai faire si je voudrais avoir 50 premiere chaine et dans chacune de ces 50premiere chaine ajouté 50 fichier.txt merci
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
Attention: c_str() renvoie un const char*
il est très important de ne pas modifier le pointeur reçu
ou par exemple faire un delete[]

Montrer la compatibilité avec le C est bien mais si le but est de montrer un aspect du C++, il faudrait utiliser
#include
#include <string>
using std::endl;
using std::cout;

et écrire les chaines ainsi :
cout << chaine1 << endl;
cout << chaine2 << endl;
Messages postés
174
Date d'inscription
mardi 10 avril 2001
Statut
Membre
Dernière intervention
30 juillet 2003
1
Pas mal c'est vrai !

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.