00001 /*! \file String.h 00002 \brief Chaine de carractère. 00003 00004 Manipulation de chaine de carractère. 00005 00006 \author aerith (www.aerith.fr) 00007 \version 1.0 00008 \date 19/11/2007 00009 */ 00010 00011 #ifndef INCLUDE_RSRC_STRING 00012 #define INCLUDE_RSRC_STRING 00013 00014 #include <malloc.h> 00015 #include <string.h> 00016 00017 00018 //! Chaine de carractère 00019 /*! Manipulation de chaine de carractère. 00020 */ 00021 class String 00022 { 00023 public : 00024 int Size; /*!< Taille de la chaine */ 00025 char *Data; /*!< Chaine de carractère */ 00026 00027 /*! Initalisé les variables. 00028 */ 00029 String(); 00030 00031 /*! Libére la mémoire proprement. 00032 */ 00033 ~String(); 00034 00035 //! Retourne la taille de la chaine 00036 /*! Retourne la taille \a Size de la chaine de carractère \a Data . 00037 \return taille de la chaine 00038 */ 00039 int size(); 00040 00041 //! Concatène deux chaine 00042 /*! Concatène la \a String actuel et une \a String . 00043 \param a partie droite de la chaine de sortie 00044 \return une \a String 00045 */ 00046 String operator+(const String a); 00047 00048 //! Concatène deux chaine 00049 /*! Concatène la \a String actuel et une chaine de carractère . 00050 \param a partie droite de la chaine de sortie 00051 \return une \a String 00052 */ 00053 String operator+(const char *a); 00054 00055 //! Concatène une chaine et un carractère 00056 /*! Concatène la \a String actuel avec un carractère . 00057 \param a carractère qui seras à droite droite de la chaine de sortie 00058 \return une \a String 00059 */ 00060 String operator+(const char a); 00061 00062 //! Copie une chaine 00063 /*! Copie une \a String dans la \a String actuel. 00064 \param a la \a String source 00065 */ 00066 void operator=(const String a); 00067 00068 //! Copie une chaine 00069 /*! Copie une chaine de carractère dans la \a String actuel. 00070 \param a la chaine source 00071 */ 00072 void operator=(const char *a); 00073 00074 //! Ajoute une chaine 00075 /*! Ajoute une \a String à droite de la \a String actuel. 00076 \param a la \a String à ajouter 00077 */ 00078 void operator+=(const String a); 00079 00080 //! Ajoute une chaine 00081 /*! Ajoute une chaine de carractère à droite de la \a String actuel. 00082 \param a la chaine à ajouter 00083 */ 00084 void operator+=(const char *a); 00085 00086 //! Ajoute un carractère 00087 /*! Ajoute un carractère à droite de la \a String actuel. 00088 \param a carractère à ajouter 00089 */ 00090 void operator+=(const char a); 00091 00092 //! Chaine identique 00093 /*! Vérifie si la \a String actuel est identiques à une \a String . 00094 \param a la \a String à comparer 00095 \return 1 si identiques, sinon 0 00096 */ 00097 bool operator==(const String a); 00098 00099 //! Chaine identique 00100 /*! Vérifie si la \a String actuel est identiques à une chaine. 00101 \param a la chaine à comparer 00102 \return 1 si identiques, sinon 0 00103 */ 00104 bool operator==(const char *a); 00105 00106 //! Chaine differente 00107 /*! Vérifie si la \a String actuel est differente à une \a String . 00108 \param a la \a String à comparer 00109 \return 1 si differentes, sinon 0 00110 */ 00111 bool operator!=(const String a); 00112 00113 //! Chaine differente 00114 /*! Vérifie si la \a String actuel est differente à une chaine. 00115 \param a la chaine à comparer 00116 \return 1 si differentes, sinon 0 00117 */ 00118 bool operator!=(const char *a); 00119 }; 00120 00121 #endif 00122