next up previous
Next: Affichage dans le terminal Up: Les librairies standards Previous: Les librairies standards

Les chaînes de caractères

Il existe en C++ une classe plus pratique que le type de base char* pour les manipulation de base des chaînes de caractères, il s'agit de la classe string (inclure pour cela #include <string>). Exemple d'utilisation:

string a = "Bonjour";
string nom = "Marie";
string b = a + " " + nom;  // concaténation de chaînes
char* c = b.c_str();  // transformer un string en char*
a = string(c);            // transformer un char* en string

Pour rechercher une sous-chaîne dans un string a, on peut utiliser la fonction membre find comme dans l'exemple a.find("jour"). Pour plus de détails sur les string, vous pouvez par exemple consulter http://casteyde.christian.free.fr/cpp/cours/online/c5501.html#STRINGSECT

Pour créer et extraire des chaînes de caractères cependant, les bonnes vieilles fonctions sprintf et sscanf du C sur les char* sont toujours aussi pratiques. Ainsi:

char* c = new char[200];
sprintf(c, "Bonjour %s pour la %dième fois !", "Marie", 2);
écrira, dans c, la chaîne Bonjour Marie pour la 2ième fois !. En effet, les % suivis d'une lettre sont remplacés dans l'ordre par les arguments suivants, la lettre spécifiant le type de l'agument (on peut également éventuellement spécifier le format): %s indique une chaîne de caractères tandis que %d indique un entier. Plus de détails dans les pages de man (taper man sprintf dans un terminal pour avoir l'aide sur cette fonction) !


next up previous
Next: Affichage dans le terminal Up: Les librairies standards Previous: Les librairies standards
Guillaume Charpiat 2006-12-07