Documentation de la bibliothèque :

C_Str-v2




Sommaire






Auteur et Version


Auteur:
HECHT Franck
Version de la bibliothèque:
2.1.1
Version de la documentation:
1.3


Présentation


C_Str est une bibliothèque de gestion des chaînes de caractères telles qu'on en retrouve dans les langage de plus haut niveau est essentiellement orientés objet. La bibliothèque a été conçu de ce fait sur le même plan que dans les autres langages soit, tout passe par un objet dont on créé une instance !

Vous n'avez plus à vous préoccuper de la gestion complexe de la mémoire, entre alloctions, réallocations, les fastidieuses manipulations des fonctions standard pour la construction des chaînes depuis plusieurs fragments... l'objet C_Str s'occupe de tout automatiquement et vous, vous n'avez plus qu'à lui fournir les chaînes ou sous-chaînes !



Exemple


Voici un exemple d'utilisation de la bibliothèque:

#include <stdio.h>
#include <stdlib.h>

#include "c_str.h"


int main (void)
{
   C_Str * my_str = C_Str_new_with_text ("Bonjour, le monde !\n");


   printf ("%s - %s\n\n\n", C_Str_get_id (), C_Str_get_version ());

   if (my_str != NULL)
   {
      C_Str_printf (my_str);
      C_Str_n_fill (my_str, 'A', 7);
      C_Str_printf (my_str);

      printf ("\n");
      C_Str_destroy (& my_str);
   }


   return EXIT_SUCCESS;
}

La sortie sur console donne alors:

C_Str, string object - 2.1.1


Bonjour, le monde !
AAAAAAA, le monde !


Process returned 0 (0x0)   execution time : 0.015 s
Press any key to continue.


Macros


#define C_Str_has_word(self, word)   C_Str_is_word_in_string ((self), (word))
#define C_Str_has_letter(self, letter)   C_Str_is_letter_in_string ((self), (letter))
#define C_Str_compare_icase(self, string)   C_Str_compare_ignore_case ((self), (string))
#define C_Str_compare_icase_obj(self, compare)   C_Str_compare_ignore_case_obj ((self), (compare))
#define C_Str_free_split(tab)   C_Str_free_split_tab ((tab))
#define C_Str_ltrim(self)   C_Str_lstrip ((self))
#define C_Str_rtrim(self)   C_Str_rstrip ((self))
#define C_Str_trim(self)   C_Str_strip ((self))
#define C_Str_set_text(self, string)   C_Str_fill ((self), (string))


Définition de type


typedef struct _C_Str C_Str


Enumérations


enum  C_Str_error {
  C_STR_END_STR = -1, C_STR_NO_ERR = 0, C_STR_DYN_ALLOC_ERR, C_STR_NULL_ARG,
  C_STR_BAD_STR_LEN, C_STR_NB
}


Fonctions


const char * C_Str_get_id (void)
const char * C_Str_get_version (void)
int C_Str_get_version_major (void)
int C_Str_get_version_minor (void)
int C_Str_get_version_revision (void)
C_StrC_Str_new (void)
C_StrC_Str_new_with_text (char const *const s_str)
C_StrC_Str_new_from_file (char const *const s_file)
C_StrC_Str_new_from_sub_string (char const *const s_str, size_t start, size_t end)
void C_Str_destroy (C_Str **const self)
int C_Str_printf (C_Str *const format,...)
int C_Str_vprintf (C_Str *const format, va_list args)
int C_Str_fprintf (FILE *file, C_Str *const format,...)
int C_Str_vfprintf (FILE *file, C_Str *const format, va_list args)
int C_Str_sprintf (char *string, C_Str *const format,...)
int C_Str_vsprintf (char *string, C_Str *const format, va_list args)
const char * C_Str_get (C_Str *const self)
size_t C_Str_len (C_Str *const self)
int C_Str_is_empty (C_Str *const self)
C_Str_error C_Str_cat_with_str (C_Str *const self, char const *const s_str,...)
C_Str_error C_Str_cat (C_Str *const but, C_Str *const source,...)
C_Str_error C_Str_nth_to_upper (C_Str *const self, size_t char_pos)
C_Str_error C_Str_nth_to_lower (C_Str *const self, size_t char_pos)
C_Str_error C_Str_to_upper (C_Str *const self)
C_Str_error C_Str_to_lower (C_Str *const self)
C_Str_error C_Str_capitalize (C_Str *const self)
C_Str_error C_Str_swap_case (C_Str *const self)
C_Str_error C_Str_lstrip (C_Str *const self)
C_Str_error C_Str_rstrip (C_Str *const self)
C_Str_error C_Str_strip (C_Str *const self)
C_Str_error C_Str_replace_string (C_Str *const self, size_t start, size_t lenght, char const *const s_str)
C_Str_error C_Str_replace_letter (C_Str *const self, const char old_letter, const char new_letter)
int C_Str_index (C_Str *const self, const char letter)
char C_Str_char_at (C_Str *const self, size_t index)
char * C_Str_nth_string_copy (C_Str *const self, int len)
C_StrC_Str_nth_string_copy_obj (C_Str *const self, int len)
char * C_Str_string_copy (C_Str *const self)
C_StrC_Str_string_copy_obj (C_Str *const self)
C_Str_error C_Str_cut (C_Str *const self, size_t start, size_t end)
size_t C_Str_how_much_letter (C_Str *const self, const char letter)
size_t C_Str_how_much_word (C_Str *const self, char const *const word)
int C_Str_is_word_in_string (C_Str *const self, char const *const word)
int C_Str_is_letter_in_string (C_Str *const self, const char letter)
char * C_Str_sub_string (C_Str *const self, const char *sub_string)
char * C_Str_sub_string_obj (C_Str *const self, C_Str *const sub_string)
char * C_Str_sub_string_by_val (C_Str *const self, size_t start, size_t end)
char ** C_Str_split (C_Str *const self, char const *const sep)
C_Str_error C_Str_free_split_tab (char ***tab)
int C_Str_compare_ignore_case (C_Str *const self, char const *const s_str)
int C_Str_compare_ignore_case_obj (C_Str *const self, C_Str *const compare)
int C_Str_compare (C_Str *const self, char const *const s_str)
int C_Str_compare_obj (C_Str *const self, C_Str *const compare)
int C_Str_compare_to_object (C_Str *const s1, C_Str *const s2)
C_Str_error C_Str_clear (C_Str *const self)
C_Str_error C_Str_fill (C_Str *const self, char const *const s_str)
C_Str_error C_Str_n_fill (C_Str *const self, char c, size_t len)
int C_Str_start_with (C_Str *const self, char const *const s_str)
int C_Str_start_with_obj (C_Str *const self, C_Str *const start)
int C_Str_end_with (C_Str *const self, char const *const s_str)
int C_Str_end_with_obj (C_Str *const self, C_Str *const end)
C_Str_error C_Str_reverse (C_Str *const self)
C_StrC_Str_clone (C_Str *const self)


Documentation des macros


#define C_Str_has_word ( self,
word   )     C_Str_is_word_in_string ((self), (word))

Macro de substitution pour la fonction C_Str_is_word_in_string. Voir la description de cette fonction, plus bas.

Paramètres:
self Pointeur vers l'instance de l'objet.
word Mot dont il faut l'existence dans la chaîne.

#define C_Str_has_letter ( self,
letter   )     C_Str_is_letter_in_string ((self), (letter))

Macro de substitution pour la fonction C_Str_is_letter_in_string. Voir la description de cette fonction, plus bas.

Paramètres:
self Pointeur vers l'instance de l'objet.
letter Lettre dont il faut l'existence dans la chaîne.

#define C_Str_compare_icase ( self,
string   )     C_Str_compare_ignore_case ((self), (string))

Macro de substitution pour la fonction C_Str_compare_ignore_case. Voir la description de cette fonction, plus bas.

Paramètres:
self Pointeur vers l'instance de l'objet.
string Chaine à comparer avec celle de l'instance de l'objet. \

#define C_Str_compare_icase_obj ( self,
compare   )     C_Str_compare_ignore_case_obj ((self), (compare))

Macro de substitution pour la fonction C_Str_compare_ignore_case_obj. Voir la description de cette fonction, plus bas.

Paramètres:
self Pointeur vers l'instance de l'objet.
compare Pointeur vers l'instance d'un autre objet pour la comparaison.

#define C_Str_free_split ( tab   )     C_Str_free_split_tab ((tab))

Supprime un tableau de chaînes de caractères cré par la fonction: C_Str_split.

Paramètres:
tab Pointeur vers le tableau de chaînes de caractères cré par la fonction: C_Str_split.

#define C_Str_ltrim ( self   )     C_Str_lstrip ((self))

Enlève les espaces superflus en début de chaîne.
Voir la fonction C_Str_lstrip pour plus d'informations.

Paramètres:
self Pointeur vers l'instance de l'objet.

#define C_Str_rtrim ( self   )     C_Str_rstrip ((self))

Enlève les espaces superflus en fin de chaîne.
Voir la fonction C_Str_rstrip pour plus d'informations.

Paramètres:
self Pointeur vers l'instance de l'objet.

#define C_Str_trim ( self   )     C_Str_strip ((self))

Enlève les espaces superflus en debut et fin de chaîne.
Voir la fonction C_Str_strip pour plus d'informations.

Paramètres:
self Pointeur vers l'instance de l'objet.

#define C_Str_set_text ( self,
string   )     C_Str_fill ((self), (string))

Rempli l'objet avec la chaîne passée en argument.
Voir la fonction C_Str_fill pour plus d'informations.

Paramètres:
self Pointeur vers l'instance de l'objet.
string Nouvelle chaîne à insérer.


Documentation des définitions de type


Type opaque représentant l'objet string.



Documentation des constantes


Constantes d'erreurs prisent en charge par l'objet C_Str.

Valeurs énumérées:
C_STR_END_STR  Fin de la chaîne: dans le cas des recherches d'index des occurences d'une lettre avec la fonction C_Str_index.
C_STR_NO_ERR  Aucune erreur.
C_STR_DYN_ALLOC_ERR  Erreur d'allocation dynamique de mémoire.
C_STR_NULL_ARG  Argument à la valeur NULL.
C_STR_BAD_STR_LEN  Mauvaise taille de chaîne, chaîne vide.
C_STR_NB  Nombre de constantes d'erreur.


Documentation des fonctions


const char * C_Str_get_id ( void   ) 

Affiche l'id (nom complet) de la bibliothèque C_Str.

Renvoie:
Chaine représentant l'id de la bibliothèque.

const char * C_Str_get_version ( void   ) 

Affiche la version de la bibliothèque.

Renvoie:
Chaine représentant la version de la bibliothèque.

int C_Str_get_version_major ( void   ) 

Affiche la version majeure de la bibliothèque.

Renvoie:
Entier représentant la version majeure de la bibliothèque.

int C_Str_get_version_minor ( void   ) 

Affiche la version mineure de la bibliothèque.

Renvoie:
Entier représentant la version mineure de la bibliothèque.

int C_Str_get_version_revision ( void   ) 

Affiche la révision de la bibliothèque.

Renvoie:
Entier représentant la revision de la bibliothèque.

C_Str * C_Str_new ( void   ) 

Création d'une nouvelle instance vide de l'objet C_Str.

Renvoie:
Pointeur vers la nouvelle instance de l'objet.
NULL en cas d'échec.

C_Str * C_Str_new_with_text ( char const *const   s_str  ) 

Création d'une nouvelle instance de l'objet C_Str avec insertion d'une chaîne et calcul de sa longueure.

Paramètres:
s_str Chaine de caractères a inésrer. Ne peut être NULL.
Renvoie:
Pointeur vers la nouvelle instance de l'objet.
NULL en cas d'échec.

C_Str * C_Str_new_from_file ( char const *const   s_file  ) 

Creétion d'une nouvelle instance de l'objet C_Str et copie le contenu du fichier passé en argument dans la chaîne de l'objet.

Paramètres:
s_file Nom complet du fichier à ouvrir. Ne peut être NULL.
Renvoie:
Pointeur vers la nouvelle instance de l'objet.
NULL en cas d'échec.

C_Str * C_Str_new_from_sub_string ( char const *const   s_str,
size_t  start,
size_t  end 
)

Création d'une nouvelle instance de l'objet C_Str à partir d'une sous-chaîne dont les extrémites sont passées en arguments.

Paramètres:
s_str Chaine de caractères dont il faut extraire la sous-chaîne.
Ne peut être NULL.
start Indicateur de début de la sous-chaîne à récupérer.
end Indicateur de fin de la sous-chaîne à récupérer.
Si la valeur de cet argument est supérieure à la longueur de la chaîne, la sous-chaîne en retour ira jusqu'à la fin de la chaîne.
Renvoie:
Pointeur vers la nouvelle instance de l'objet.
NULL en cas d'échec.

void C_Str_destroy ( C_Str **const   self  ) 

Destruction d'une instance d'un objet de type C_Str.

Paramètres:
self Pointeur vers l'instance à detruire. L'adresse libérée est mise automatiquement à la valeur NULL.

int C_Str_printf ( C_Str *const   format,
  ... 
)

Affichage de la chaîne sur la sortie standard.
Meme fonctionnement que la fonction printf.

Paramètres:
format Pointeur vers l'instance de l'objet à ecrire.
... Liste variable d'arguments pour le format spécifié en premier argument.
Renvoie:
Nombre de caractères écrits ou une valeur négative en cas d'erreur.

int C_Str_vprintf ( C_Str *const   format,
va_list  args 
)

Affichage de la chaîne sur la sortie standard.
Même fonctionnement que la fonction vprintf.

Paramètres:
format Pointeur vers l'instance de l'objet à écrire
args Liste variable d'arguments de type va_list pour le format spécifié en premier argument.
Renvoie:
Nombre de caractères écrits ou une valeur négative en cas d'erreur.

int C_Str_fprintf ( FILE *  file,
C_Str *const   format,
  ... 
)

Affichage de la chaîne sur le flux spécifié.
Même fonctionnement que la fonction fprintf.

Paramètres:
file Flux sur lequel envoyer le format spécifié en second argument.
format Pointeur vers l'instance de l'objet à écrire.
... Liste variable d'arguments pour le format spécifié en second argument.
Renvoie:
Nombre de caractères écrits ou une valeur négative en cas d'erreur.

int C_Str_vfprintf ( FILE *  file,
C_Str *const   format,
va_list  args 
)

Affichage de la chaîne sur la sortie standard.
Même fonctionnement que la fonction vfprintf.

Paramètres:
file Flux sur lequel envoyer le format spécifié en second argument.
format Pointeur vers l'instance de l'objet à écrire.
args Liste variable d'arguments de type va_list pour le format spécifié en second argument.
Renvoie:
Nombre de caractères écrits ou une valeur négative en cas d'erreur.

int C_Str_sprintf ( char *  string,
C_Str *const   format,
  ... 
)

Affichage de la chaîne dans une nouvelle chaîne de caractères.
Même fonctionnement que la fonction sprintf.

Paramètres:
string Adresse d'un emplacement mémoire validé d'une chaîne de caractères pour écrire le format spécifié en second argument.
format Pointeur vers l'instance de l'objet à écrire.
... Liste variable d'arguments pour le format spécifié en second argument.
Renvoie:
Nombre de caractères écrits ou une valeur négative en cas d'erreur.

int C_Str_vsprintf ( char *  string,
C_Str *const   format,
va_list  args 
)

Affichage de la chaîne dans une nouvelle chaîne de caractères.
Même fonctionnement que la fonction vsprintf.

Paramètres:
string Adresse d'un emplacement mémoire valide d'une chaîne de caractères pour écrire le format spécifié en second argument.
format Pointeur vers l'instance de l'objet à écrire.
args Liste variable d'arguments de type va_list pour le format spécifié en second argument.
Renvoie:
Nombre de caractères écrits ou une valeur négative en cas d'erreur.

const char * C_Str_get ( C_Str *const   self  ) 

Renvoie la chaîne stockee par l'objet passé en argument.

Paramètres:
self Instance valide d'un objet C_Str.
Renvoie:
Pointeur vers la chaîne stockée par l'objet. La chaîne en retour n'est pas une copie mais simplement un pointeur sur celle de l'objet, il ne faut donc pas la libérer !
NULL en cas d'échec.

size_t C_Str_len ( C_Str *const   self  ) 

Renvoie la longueur de la chaîne stockée par l'objet passé en argument.

Paramètres:
self Instance valide d'un objet C_Str.
Renvoie:
Longueur de la chaîne.

int C_Str_is_empty ( C_Str *const   self  ) 

Détermine si la chaîne de l'objet est vide ou non.

Paramètres:
self Instance valide d'un objet C_Str.
Renvoie:
  • 0 : La chaîne n'est pas vide.
  • 1 : La chaîne est vide.

C_Str_error C_Str_cat_with_str ( C_Str *const   self,
char const *const   s_str,
  ... 
)

Concaténation et concaténation multiple. La concaténation se fait sur la chaîne stockée dans l'instance de la classe à partir de chaînes de caractères passées en arguments.

Paramètres:
self Pointeur vers l'instance de l'objet.
s_str Chaîne de caractères à concaténer avec la chaîne de l'instance de l'objet.
... Liste variable d'arguments à concaténer avec la chaîne de l'instance de l'objet. La fin de la liste doit être représentée avec la valeur NULL.
Si aucun argument n'est à passer dans la liste variable, mettre NULL.
Renvoie:
  • C_STR_NO_ERR si la fonction se termine normalement.
  • C_STR_NULL_ARG si la chaîne fournie en paramêtre vaut NULL,
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire échoue.

C_Str_error C_Str_cat ( C_Str *const   but,
C_Str *const   source,
  ... 
)

Concaténation et concaténation multiple d'objets C_Str.
La fonction est identique a C_Str_cat_with_str sauf qu'elle prend des instances de l'objet C_Str en paramêtre au lieu de simples chaîne de caractères.

Paramètres:
but Pointeur vers l'instance de l'objet de destination.
source Pointeur vers l'instance de l'objet source.
... Liste d'arguments variable d'objet source.
Mettre NULL si aucun argument variable ou pour terminer la liste.
Renvoie:
  • C_STR_NO_ERR si la fonction se termine normalement.
  • C_STR_NULL_ARG si la chaîne fournie en paramêtre vaut NULL,
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire échoue.

C_Str_error C_Str_nth_to_upper ( C_Str *const   self,
size_t  char_pos 
)

Changement de la casse d'un caractère de la chaîne: Majuscule.

Paramètres:
self Pointeur vers l'instance de l'objet.
char_pos Position du caractère à changer de casse.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est égale à zéro donc une chaîne vide.

C_Str_error C_Str_nth_to_lower ( C_Str *const   self,
size_t  char_pos 
)

Changement de la casse d'un caractère de la chaîne: Minuscule.

Paramètres:
self Pointeur vers l'instance de l'objet.
char_pos Position du caractère à changer de casse.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est égale à zero donc une chaîne vide.

C_Str_error C_Str_to_upper ( C_Str *const   self  ) 

Changement de la casse de la chaîne complète: Majuscule.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est egale à zéro donc une chaîne vide.

C_Str_error C_Str_to_lower ( C_Str *const   self  ) 

Changement de la casse de la chaîne complète: Minuscule.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est égale à zéro donc une chaîne vide.

C_Str_error C_Str_capitalize ( C_Str *const   self  ) 

Met en majuscule le premier caractère de la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est égale à zéro donc une chaîne vide.

C_Str_error C_Str_swap_case ( C_Str *const   self  ) 

Interverti la casse de tous les caractères de la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est egale a zero donc une chaîne vide.

C_Str_error C_Str_lstrip ( C_Str *const   self  ) 

Enlève les espaces superflus en début de chaîne.
En cas d'erreur, la chaîne de l'objet reste inchangée.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NULL_ARG si l'objet passe en paramêtre est invalide.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.

C_Str_error C_Str_rstrip ( C_Str *const   self  ) 

Enlève les espaces superflus en fin de chaîne.
En cas d'erreur, la chaîne de l'objet reste inchangée.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NULL_ARG si l'objet passe en paramêtre est invalide.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.

C_Str_error C_Str_strip ( C_Str *const   self  ) 

Enlève les espaces superflus en début et fin de chaîne.
En cas d'erreur, la chaîne de l'objet reste inchangée.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NULL_ARG si l'objet passe en paramêtre est invalide.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.

C_Str_error C_Str_replace_string ( C_Str *const   self,
size_t  start,
size_t  lenght,
char const *const   s_str 
)

Remplacement d'un fragment de la chaîne par une nouvelle chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
start Index de départ du remplacement.
lenght Longueur du remplacement.
s_str Chaine de remplacement.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NULL_ARG si l'objet C_Str est de valeur NULL.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.

C_Str_error C_Str_replace_letter ( C_Str *const   self,
const char  old_letter,
const char  new_letter 
)

Remplace toutes les lettres de code 'old_letter' par la nouvelle lettre de code 'new_letter'.

Paramètres:
self Pointeur vers l'instance de l'objet.
old_letter Lettre à remplacer.
new_letter Lettre de remplacement.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NULL_ARG si l'argument de l'objet est NULL.
  • C_STR_BAD_STR_LEN si la taille de la chaîne est égale à zéro donc une chaîne vide.

int C_Str_index ( C_Str *const   self,
const char  letter 
)

Retrouve la position d'une occurence de la lettre dans la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
Mettre cet argument a NULL pour connaitre la position de la prochaîne occurence de la meme lettre.
letter Occurence a trouver.
Renvoie:
Position de l'occurence de la lettre passée en argument.
0 si aucune occurence de la lettre n'a été trouvée.
C_STR_END_STR si la fin de la chaîne a été atteinte.

char C_Str_char_at ( C_Str *const   self,
size_t  index 
)

Renvoie le caractère à l'index spécifié.

Paramètres:
self Pointeur vers l'instance de l'objet.
index Index du caractère à retrouver.
Renvoie:
Caractere à l'index spécifié, caractère nul en cas d'erreur.

char * C_Str_nth_string_copy ( C_Str *const   self,
int  len 
)

Copie d'une partie de la chaîne vers une autre adresse mémoire.
La copie se fait en partant du debut de la chaîne.

ATTENTION !! La chaîne retournée doit être libérée avec free avant la fin du programme.

Paramètres:
self Pointeur vers l'instance de l'objet.
len Longueur a recopier. Si la laongueur est égale à zéro, toute la chaîne est recopiée.
Renvoie:
Adresse de la copie de la chaîne sinon NULL en cas d'erreur.

C_Str * C_Str_nth_string_copy_obj ( C_Str *const   self,
int  len 
)

Copie d'une partie de la chaîne vers une autre adresse mémoire. La copie se fait en partant du début de la chaîne.

ATTENTION !! L'objet C_Str retourné doit être libérée avec C_Str_destroy avant la fin du programme.

Cette fonction renvoie l'adresse d'un nouvel objet C_Str.

Paramètres:
self Pointeur vers l'instance de l'objet.
len Longueur à recopier. Si la laongueur est égale à zéro, toute la chaîne est recopiée.
Renvoie:
Adresse de la copie de la chaîne sinon NULL en cas d'erreur.

char * C_Str_string_copy ( C_Str *const   self  ) 

Copie de la chaîne vers une autre adresse mémoire. La copie se fait en partant du début de la chaîne.

ATTENTION !! La chaîne retournée doit être libérée avec free avant la fin du programme.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
Adresse de la copie de la chaîne sinon NULL en cas d'erreur.

C_Str * C_Str_string_copy_obj ( C_Str *const   self  ) 

Copie de la chaîne vers une autre adresse mémoire. La copie se fait en partant du début de la chaîne.

ATTENTION !! L'objet C_Str retourné doit être libérée avec C_Str_destroy avant la fin du programme.

Cette fonction renvoie l'adresse d'un nouvel objet C_Str.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
Adresse de la copie de la chaîne sinon NULL en cas d'erreur.

C_Str_error C_Str_cut ( C_Str *const   self,
size_t  start,
size_t  end 
)

Découpage de la chaîne suivant deux positions données.
Si la position de départ est le début de la chaîne, mettre 0.
Si la position de fin est supérieure à la longueur de la chaîne, le découpage se fait jusqu'à la fin de la chaîne.

ATTENTION !! Le découpage se fait sur la chaîne stockée dans l'instance de l'objet, la chaîne sera donc modifiée.

Paramètres:
self Pointeur vers l'instance de l'objet.
start Marqueur de depart du découpage.
end Marqueur de fin du découpage.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NULL_ARG si l'argument de l'objet est NULL.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire a echouée.

size_t C_Str_how_much_letter ( C_Str *const   self,
const char  letter 
)

Recherche du nombre d'occurences d'une lettre dans la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
letter Lettre dont il faut trouver le nombre d'occurences.
Renvoie:
Nombre d'occurence trouvée. 0 si aucune occurence.

size_t C_Str_how_much_word ( C_Str *const   self,
char const *const   word 
)

Recherche du nombre d'occurrences d'un mot dans la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
word Mot dont il faut trouver le nombre d'occurences.
Renvoie:
Nombre d'occurence trouvee. 0 si aucune occurence ou l'allocation mémoire pour la copie de la chaîne a echouée.

int C_Str_is_word_in_string ( C_Str *const   self,
char const *const   word 
)

Détermine si le mot passé en paramêtre existe dans la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
word Mot dont il faut l'existence dans la chaîne.
Renvoie:
  • 0 : Le mot ne se trouve pas dans la chaîne ou erreur,
  • 1 : Le mot se trouve dans la chaîne.

int C_Str_is_letter_in_string ( C_Str *const   self,
const char  letter 
)

Détermine si la lettre passe en paramêtre existe dans la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
letter Lettre dont il faut l'existence dans la chaîne.
Renvoie:
  • 0 : La lettre ne se trouve pas dans la chaîne ou erreur,
  • 1 : La lettre se trouve dans la chaîne.

char * C_Str_sub_string ( C_Str *const   self,
const char *  sub_string 
)

Recherche la sous-chaîne sub_string dans la chaîne de l'objet self.

Paramètres:
self Pointeur vers l'instance de l'objet.
sub_string Sous-chaîne a retrouver.
Renvoie:
Pointeur sur le debut de la sous-chaîne, NULL en cas d'erreur ou si aucune sosu-chaîne n'a été trouvée.
Le pointeur en retour ne doit pas être libéré car il pointe simplement sur la chaîne sans faire de copie de la sous-chaîne.

char * C_Str_sub_string_obj ( C_Str *const   self,
C_Str *const   sub_string 
)

Recherche la sous-chaîne de l'objet sub_string dans la chaîne de l'objet self.

Paramètres:
self Pointeur vers l'instance de l'objet.
sub_string Pointeur vers l'instance de l'objet contenant la sous-chaîne à retrouver.
Renvoie:
Pointeur sur le début de la sous-chaîne, NULL en cas d'erreur ou si aucune sosu-chaîne n'a été trouvée.
Le pointeur en retour ne doit pas être libéré car il pointe simplement sur la chaîne sans faire de copie de la sous-chaîne.

char * C_Str_sub_string_by_val ( C_Str *const   self,
size_t  start,
size_t  end 
)

Recherche la sous-chaîne dans l'objet self en se basant sur les limites fournies en arguments.

Paramètres:
self Pointeur vers l'instance de l'objet.
start Indicateur de début de la sous-chaîne à récupérer.
end Indicateur de fin de la sous-chaîne à récupérer.
Si la valeur de cet argument est supérieure à la longeur de la chaîne, la sous-chaîne en retour ira jusqu'à la fin de la chaîne.
Renvoie:
Pointeur sur le début de la sous-chaîne, NULL en cas d'erreur ou si aucune sosu-chaîne n'a été trouvée.
La sous-chaîne en retour doit être libérée avec la fonction free car la fonction créée une copie de la sous-chaîne demandée.

char ** C_Str_split ( C_Str *const   self,
char const *const   sep 
)

Eclate une chaîne de caractères mot par mot. Chaque mot est stocké dans un tableau de chaînes de caractères. Chaque sous-chaîne est terminée par un zéro de fin de chaîne. Le tableau de chaînes est terminé par la valeur NULL.

Le tableau doit être libéré avant la fin du programme avec la fonction: C_Str_free_split_tab ou la macro C_Str_free_split.

Paramètres:
self Pointeur vers l'instance de l'objet.
sep Liste de séparateurs sous la forme d'une chaîne. L'argument peut être NULL au quel cas, une liste par défaut est utilisée.
Renvoie:
Tableau de tableau sur char contenant tous les mots de la chaîne. En cas d'erreur, la fonction retourne la valeur NULL.

C_Str_error C_Str_free_split_tab ( char ***  tab  ) 

Supprime un tableau de chaînes de caractères cree par la fonction: C_Str_split.

Paramètres:
tab Adresse du tableau de chaînes crée par la fonction: C_Str_split.
Renvoie:
  • C_STR_NO_ERR : Pas d'erreur
  • C_STR_NULL_ARG : Si l'argument est NULL

int C_Str_compare_ignore_case ( C_Str *const   self,
char const *const   s_str 
)

Comparaison de chaînes sans tenir compte de la casse des lettres.

Paramètres:
self Pointeur vers l'instance de l'objet.
s_str Chaine à comparer avec celle de l'instance de l'objet.
Renvoie:
  • 0 : Chaines différentes.
  • 1 : Chaines identiques.
  • -1 : Erreur.

int C_Str_compare_ignore_case_obj ( C_Str *const   self,
C_Str *const   compare 
)

Comparaison de chaînes sans tenir compte de la casse des lettres.

Paramètres:
self Pointeur vers l'instance de l'objet.
compare Pointeur vers l'instance d'un autre objet pour la comparaison.
Renvoie:
  • 0 : Chaines différentes.
  • 1 : Chaines identiques.
  • -1 : Erreur.

int C_Str_compare ( C_Str *const   self,
char const *const   s_str 
)

Comparaison de chaînes de caractères.

Paramètres:
self Pointeur vers l'instance de l'objet.
s_str Chaine à comparer avec celle de l'instance de l'objet.
Renvoie:
  • 0 : Chaines différentes.
  • 1 : Chaines identiques.
  • -1 : Erreur.

int C_Str_compare_obj ( C_Str *const   self,
C_Str *const   compare 
)

Comparaison de chaînes de caractères.

Paramètres:
self Pointeur vers l'instance de l'objet.
compare Chaine à comparer avec celle de l'instance de l'objet.
Renvoie:
  • 0 : Chaines différentes.
  • 1 : Chaines identiques.
  • -1 : Erreur.

int C_Str_compare_to_object ( C_Str *const   s1,
C_Str *const   s2 
)

Comparaison de deux objets de type C_Str.

Paramètres:
s1 Pointeur vers l'instance de l'objet.
s2 Pointeur vers l'instance de l'objet de la comparaison.
Renvoie:
  • 0 : Objets différents.
  • 1 : Objets identiques.

C_Str_error C_Str_clear ( C_Str *const   self  ) 

Efface la chaîne de caractère de l'instance de l'objet. L'effacement n'entraîne pas de désallocation de l'espace de la chaîne.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucun problème.
  • C_STR_NULL_ARG si l'argument est NULL.

C_Str_error C_Str_fill ( C_Str *const   self,
char const *const   s_str 
)

Insere une nouvelle chaîne dans l'emplacement mémoire de la chaîne de l'objet dont le pointeur est passé en paramêtre. L'ancienne chaîne de caractères sera définitivement perdue.

Paramètres:
self Pointeur vers l'instance de l'objet.
s_str Chaine de caractère à insérer dans la chaîne de l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucun problème.
  • C_STR_NULL_ARG si un argument est NULL.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.

C_Str_error C_Str_n_fill ( C_Str *const   self,
char  c,
size_t  len 
)

Insère un caractère definit par l'argument c sur une longueur len dans la chaîne de l'objet passe en argument. L'insertion commence toujours depuis le début de l'emplacement de la chaîne de l'objet.

Paramètres:
self Pointeur vers l'instance de l'objet.
c Caractère a insérer.
len Longueur.
Renvoie:
  • C_STR_NO_ERR si aucun problème.
  • C_STR_NULL_ARG si un argument est NULL ou si l'emplacement de la chaîne n'est pas valide (non alloué).

int C_Str_start_with ( C_Str *const   self,
char const *const   s_str 
)

Détermine si la chaîne commence avec le préfixe passé en argument.

Paramètres:
self Pointeur vers l'instance de l'objet.
s_str Préfixe a retrouver au début de la chaîne.
Renvoie:
  • 0 : La chaîne ne commence pas avec ce préfixe.
  • 1 : La chaîne commence avec ce préfixe.

int C_Str_start_with_obj ( C_Str *const   self,
C_Str *const   start 
)

Détermine si la chaîne commence avec le préfixe passé en argument.

Paramètres:
self Pointeur vers l'instance de l'objet.
start Pointeur vers l'instance d'un objet contenant le préfixe à rechercher.
Renvoie:
  • 0 : La chaîne ne commence pas avec ce préfixe.
  • 1 : La chaîne commence avec ce préfixe.

int C_Str_end_with ( C_Str *const   self,
char const *const   s_str 
)

Détermine si la chaîne se termine avec le suffixe passé en argument.

Paramètres:
self Pointeur vers l'instance de l'objet.
s_str Suffixe à retrouver en fin de chaîne.
Renvoie:
  • 0 : La chaîne ne se termine pas avec ce suffixe.
  • 1 : La chaîne se termine avec ce suffixe.

int C_Str_end_with_obj ( C_Str *const   self,
C_Str *const   end 
)

Détermine si la chaîne se termine avec le suffixe passé en argument.

Paramètres:
self Pointeur vers l'instance de l'objet.
end Pointeur vers l'instance d'un objet contenant le suffixe à rechercher.
Renvoie:
  • 0 : La chaîne ne se termine pas avec ce suffixe.
  • 1 : La chaîne se termine avec ce suffixe.

C_Str_error C_Str_reverse ( C_Str *const   self  ) 

Inverse la chaîne de caractères.

Paramètres:
self Pointeur vers l'instance de l'objet.
Renvoie:
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NUL_ARG si l'argument est NULL.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.

C_Str * C_Str_clone ( C_Str *const   self  ) 

Clone l'instance de l'objet.

Le clonage est une copie dont l'adresse de l'instance source ainsi que sa chaîne de caractères sont sur des emplacements mémoire differents.

Paramètres:
self Pointeur vers l'instance de l'objet à cloner.
Renvoie:
Adresse du clone de l'instance de l'objet source. NULL en cas d'échec.


Généré le Sat Mar 15 10:21:48 2008 pour C_Str par  doxygen 1.5.5