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); }
La classe String fournit les op�rateurs suivant :
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;
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'
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:30