Page suivantePage pr�c�denteTable des mati�res

3. Utilisation de la classe String

Pour utiliser la classe String, vous devez d'abord vous reporter au programme d'exemple "example_String.cpp" donn� en Annexe A et � la classe String qui se trouve en Annexe B.

La classe String est un remplacement complet des types char et char~*. Vous pouvez l'utiliser exactement comme vous utilisez char et avoir encore plus de fonctionnalit�s. Vous devez faire l'�dition des liens avec la biblioth�que 'libString.a' que vous pouvez obtenir en utilisant le Makefile fourni en Annexe H et copier la biblioth�que dans le r�pertoire /usr/lib ou /lib (NdT: sous Unix) o� les biblioth�ques se trouvent. Pour utiliser 'libString.a', compilez vos programmes ainsi


g++ exemple.cpp -lString

Regardez l'exemple de code donn� ci-dessous


 String aa;
 aa = " Le si�ge de l'ONU est � New-York ";
 // Vous pouvez utiliser aa.val() comme une variable 'char~*' dans vos
 // programmes
 for (unsigned long tmpii = 0; tmpii < aa.length(); tmpii++)
 {
 //fprintf(stdout, "aa.val()[%ld]=%c ", tmpii, aa.val()[tmpii]);
 fprintf(stdout, "aa[%ld]=%c ", tmpii, aa[tmpii]);
 }
 // Utiliser des pointeurs sur le 'char~*" val
 for (char~*tmpcc = aa.val(); *tmpcc != 0; tmpcc++)
 {
 fprintf(stdout, "aa.val()=%c ", *tmpcc);
 }

Un programme d'exemple complet "example_String.cpp" utilisant la classe String est donn� en Annexe A et la classe String est donn�e en Annexe B.

3.1 Op�rateurs

La classe String fournit les op�rateurs suivant :

Exemple d'utilisation des op�rateurs :
 String aa;
 String bb("Linus Torvalds")
 aa = "mettez une cha�ne ici";  // affectation
 aa += "ajoutez-en un peu plus"; // rajout
 aa = "Mon nom est" + " Alavoor Vasudevan "; // concat�nation de String
 if (bb == "Linus Torvalds")  // �galit� bool�enne
 cout << "bb est �gale � 'Linus Torvalds' " << endl;
 if (bb != "Alan Cox")   // non �galit� bool�enne
 cout << "bb n'est pas �gal � 'Alan Cox'" << endl;

3.2 Fonctions

Les fonctions fournies par la classe String ont les m�me noms que celles de la classe String de Java. Les noms des fonctions et leur comportement sont exactement les m�mes que ceux de la classe String de Java ! La classe StringBuffer est aussi fournie. Cela facilitera le portage de code entre Java et C++ (vous pouvez faire du copier/coller et avoir seulement � modifier tr�s l�g�rement votre code).

Le code du corps d'un fonction Java peut �tre copi� dans le corps d'une fonction membre C++ et avec tr�s peu de changements �tre compil� en C++. Un autre avantage est que les d�veloppeurs codant en Java et en C++ n'ont pas besoin de conna�tre deux syntaxes ou deux noms de fonctions diff�rents.

Reportez vous en annexe B String.h pour avoir des d�tails sur les noms des fonctions de la classe String.

Par exemple pour convertir un entier en cha�ne, faire :


 String  aa;
 aa = 34;  // L'op�rateur '=' convertira l'entier en cha�ne
 cout << "La valeur de aa est : " << aa.val() << endl;
 aa = 234.878;  // L'op�rateur '=' convertira le r�el en cha�ne
 cout << "La valeur de aa est : " << aa.val() << endl;
 aa = 34 + 234.878;
 cout << "La valeur de aa est : " << aa.val() << endl;
 // aa doit contenir '268.878' (nombre en notation anglaise)
 // transtypage
 aa = (String) 34 + " C�l�bre hacker Linus Torvalds " + 234.878;
 cout << "La valeur de aa est : " << aa.val() << endl;
 // aa doit contenir '34 C�l�bre hacker Linus Torvalds 234.878'


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:30