Les strings

On vient juste de terminer le premier chapitre sur les variables et on enchaine sur... d'autres variables ! Et pour être plus précis sur les variables de type string.

Les string vous permettront de stocker des chaines de caractères c'est à dire des mots, des phrases ou même des romans entier. Leur utilisation est tout aussi simple que les autres type que nous avons vu.

Par contre, attention ! Ce n'est pas un type primitif. Pour rappel un type primitif est un type qui existe de base en C++ sans la moindre action supplémentaire. Les string existent bien de base en C++ mais ont été codés en C++ avec les types primitif que nous avons vu précédemment.

Les inclusions

Parfois en C++, nous devrons inclure une nouvelle fonctionnalité ou un autre fichier que nous avons créé. Rien de plus simple, il suffit qu'en haut de votre fichier texte vous insérez la syntaxe suivante :

#include <UN FICHIER STANDARD>
#include "UN FICHIER DE VOTRE PROJET"

Par exemple, pour inclure les string dans notre fichier C++, nous écrirons : #include <string> mais pour inclure un fichier que nous créerons nous même, nous écrirons plutôt #include "monfichier.cpp". Notez la différence ! Mais nous verrons comment fonctionne l'utilisation de plusieurs fichiers plus tard.

Comment utiliser les string ?

Rien de plus simple, prenez ce code et mettez le dans votre IDE.

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string name = "Chuck Norris";

    cout << name << endl;
}

Puis lancez l'application et que voyons nous ?

Et oui ! Chuck Norris s'affiche à l'écran, bienvenue dans la magie et la simplicité du C++ :-D !

Mais, fort heureusement, la puissance des string ne s'arrête pas là. Nous pouvons par exemple les concaténer, simplement en utilisant l'opérateur + entre deux string. Regardez plutôt :

Plutôt simple et efficace.

Je vais maintenant vous présenter une nouvelle notion. Vous devez considérer que les string sont un peu comme des grosses variables qui offrent pleins de possibilités. Par exemple, les string possèdent comme des informations, des propriétés qui peuvent être accédées via un . et avec des () à la fin !

Nous verrons le pourquoi du comment, contentez vous d'accepter que c'est une méthode d'accès à des informations ou à des actions. Par exemple pour connaitre la longueur de votre chaine de caractère, vous devez simplement écrire :

string name = "Martin";
cout << name.length() << endl;

Ici la notation est nouvelle. length veux dire en anglais longueur. On accède donc à la longueur de la chaine concernée via le . et on termine la propriété voulue par des () (vous comprendrez pleinement cette notation bientôt, ne vous inquiètez pas). Ainsi, écrire name.length() vous retourne la longueur de la chaine c'est à dire 6 dans notre cas.

Il existe d'autre méthodes comme erase() qui permettent de vider complètement la chaine et plein d'autres que nous verrons plus tard.

Attention : petite subtilité très importante ! Un char (un caractère) s'écrit avec des apostrophes alors qu'un string (une chaine) s'écrit avec des guillemets !

char letter = 'a';
string word = "Hi!";

La subtilité est très importante, sinon votre programme risque d'avoir des comportements indéfinis.