Macros | Définitions de type | Énumérations | Fonctions
Documentation de la bibliothèque CStr
Version 3.0.1

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_free_tab(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))
 
#define C_Str_is_equal(obj1, obj2)   C_Str_compare_to_object ((obj1), (obj2))
 

Définitions de type

typedef struct _C_Str C_Str
 

Énumé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_FILE_ERR, C_STR_WRITE_ERR, C_STR_TABLE_SET_ERR,
  C_STR_BAD_INDEX, C_STR_NO_CHAR_FOUND, C_STR_INVALID_SIZE, 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_len (size_t size)
 
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)
 
C_StrC_Str_new_from_sub_string_obj (C_Str *const self, size_t start, size_t end)
 
void C_Str_destroy (C_Str **const self)
 
bool C_Str_write_to_file (C_Str *const self, const char *filename, const char *mode)
 
C_Str_error C_Str_get_error (C_Str *const self)
 
void * C_Str_access_to_generic_buff (C_Str *const self)
 
const char * C_Str_get (C_Str *const self)
 
char * C_Str_get_new_string (C_Str *const self)
 
size_t C_Str_len (C_Str *const self)
 
bool C_Str_is_empty (C_Str *const self)
 
bool C_Str_cat_with_str (C_Str *const self, char const *const s_str,...)
 
bool C_Str_cat (C_Str *const but, C_Str *const source,...)
 
bool C_Str_nth_to_upper (C_Str *const self, size_t char_pos)
 
bool C_Str_nth_to_lower (C_Str *const self, size_t char_pos)
 
bool C_Str_to_upper (C_Str *const self)
 
bool C_Str_to_lower (C_Str *const self)
 
bool C_Str_capitalize (C_Str *const self)
 
bool C_Str_swap_case (C_Str *const self)
 
bool C_Str_lstrip (C_Str *const self)
 
bool C_Str_rstrip (C_Str *const self)
 
bool C_Str_strip (C_Str *const self)
 
bool C_Str_replace_string (C_Str *const self, size_t start, size_t lenght, char const *const s_str)
 
bool 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)
 
int C_Str_r_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)
 
bool C_Str_is_word_in_string (C_Str *const self, char const *const word)
 
bool 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)
 
void C_Str_free_split_tab (char ***tab)
 
bool C_Str_compare_ignore_case (C_Str *const self, char const *const s_str)
 
bool C_Str_compare_ignore_case_obj (C_Str *const self, C_Str *const compare)
 
bool C_Str_compare (C_Str *const self, char const *const s_str)
 
bool C_Str_compare_obj (C_Str *const self, C_Str *const compare)
 
bool C_Str_compare_to_object (C_Str *const s1, C_Str *const s2)
 
bool C_Str_clear (C_Str *const self)
 
bool C_Str_fill (C_Str *const self, char const *const s_str)
 
bool C_Str_n_fill (C_Str *const self, char c, size_t len)
 
bool C_Str_start_with (C_Str *const self, char const *const s_str)
 
bool C_Str_start_with_obj (C_Str *const self, C_Str *const start)
 
bool C_Str_end_with (C_Str *const self, char const *const s_str)
 
bool C_Str_end_with_obj (C_Str *const self, C_Str *const end)
 
bool C_Str_reverse (C_Str *const self)
 
C_StrC_Str_clone (C_Str *const self)
 

Description détaillée

Auteur
HECHT Franck
Version
3.0.0

C_Str est une bibliothèque de gestion des chaînes de caractères telle qu'on en trouve dans les langages de plus haut niveau est essentiellement orientés objet comme par exemple, Java, C++, C#, Python. C_Str a été créé pour rassembler ces diverses fonctions en une seule et unique bibliothèque pour le langage C. C_Str est basé sur un objet (du même nom) qui est une structure opaque pour plus de sécurité quant à la manipulation de la mémoire qui ne se fait qu'en interne. Pour l'utilisateur final, cela reviens quasiment au même d'utiliser C_Str que tout autre objet String des autres langages. Une particularité sur cet objet, est lors des diverses manipulations de chaînes, une fois l'objet de départ créé avec une chaîne, même après réallocation suite à un agrandissement de la chaîne, l'adresse de départ de la chaîne reste la même. Cette particularité a été conçu de sorte à pouvoir faire des comparaison non entre différentes chaînes, mais entre différents objets ou plutôt pointeurs sur des objets pour pouvoir déterminer avec précision et sureté si un pointeur sur un objet C_Str en cours pointe sur tel ou tel objet.

Note
Cette bibliothèque est désormais compatible avec la norme C99.
Attention
Son passage en version 3.0.0 implique beaucoup de changements, la bibliothèque n'est donc plus compatible avec les anciennes versions. Si vous utilisez les versions antérieures dans vos projets, vous devrez soit continuer à les utiliser ou passer sur cette nouvelle version.

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

#include "c_str.h"
int main (void)
{
C_Str * my_str = C_Str_new_with_text ("Bonjour, le monde !");
if (my_str)
{
printf ("%s\n", C_Str_get (my_str));
if (C_Str_replace_string (my_str, 0, 6, "Salut"))
printf ("%s\n", C_Str_get (my_str));
C_Str_destroy (& my_str);
}
return EXIT_SUCCESS;
}

La sortie sur console :

Bonjour, le monde !
Salut, le monde !
Attention
Un objet de type C_Str doit toujours être détruit avec la fonction C_Str_destroy prévue à cet effet.

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.

Paramètres
selfPointeur vers l'instance de l'objet.
wordMot 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.

Paramètres
selfPointeur vers l'instance de l'objet.
letterLettre 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.

Paramètres
selfPointeur vers l'instance de l'objet.
stringChaine à 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.

Paramètres
selfPointeur vers l'instance de l'objet.
comparePointeur vers l'instance d'un autre objet pour la comparaison.
#define C_Str_free_split (   tab)    C_Str_free_split_tab ((tab))

Macro de substitution pour la fonction C_Str_free_split_tab.

Paramètres
tabPointeur vers le tableau de chaînes de caractères créé par la fonction: C_Str_split.
#define C_Str_free_tab (   tab)    C_Str_free_split_tab ((tab))

Macro de substitution pour la fonction C_Str_free_split_tab.

Paramètres
tabPointeur 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))

Macro de substitution pour la fonction C_Str_lstrip.

Paramètres
selfPointeur vers l'instance de l'objet.
#define C_Str_rtrim (   self)    C_Str_rstrip ((self))

Macro de substitution pour la fonction C_Str_rstrip.

Paramètres
selfPointeur vers l'instance de l'objet.
#define C_Str_trim (   self)    C_Str_strip ((self))

Macro de substitution pour la fonction C_Str_strip.

Paramètres
selfPointeur vers l'instance de l'objet.
#define C_Str_set_text (   self,
  string 
)    C_Str_fill ((self), (string))

Macro de substitution pour la fonction C_Str_fill.

Paramètres
selfPointeur vers l'instance de l'objet.
stringNouvelle chaîne à insérer.
#define C_Str_is_equal (   obj1,
  obj2 
)    C_Str_compare_to_object ((obj1), (obj2))

Macro de substitution pour la fonction C_Str_compare_to_object.

Paramètres
obj1Pointeur sur un objet C_Str.
obj2Pointeur sur un objet C_Str.

Documentation des définitions de type

Type opaque représentant l'objet string.

Documentation du type de l'énumération

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_FILE_ERR 

Erreur d'ouverture/création de fichier.

C_STR_WRITE_ERR 

Erreur d'écriture dans un fichier.

C_STR_TABLE_SET_ERR 

Erreur d'ajout de donnée à une table.

C_STR_BAD_INDEX 

Mauvais index fournit à la fonction.

C_STR_NO_CHAR_FOUND 

Pas de caractère trouvé. Erreur utilisée par la fonction C_Str_replace_letter

C_STR_INVALID_SIZE 

Utilisée par la fonction C_Str_n_fill si l'argument 'len' est incorrect.

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_len ( size_t  size)

Création d'une nouvelle instance vide de l'objet C_Str avec une taille prédéterminée.

C_Str * C_Str_new_len (size_t size)

Paramètres
sizeTaille de la future chaîne.
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_strChaine 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_fileNom 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émités sont passées en arguments.

Paramètres
s_strChaine de caractères dont il faut extraire la sous-chaîne.
Ne peut être NULL.
startIndicateur de début de la sous-chaîne à récupérer.
endIndicateur 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.
C_Str * C_Str_new_from_sub_string_obj ( C_Str *const  self,
size_t  start,
size_t  end 
)

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

Paramètres
selfObjet dont il faut extraire la sous-chaîne.
Ne peut être NULL.
startIndicateur de début de la sous-chaîne à récupérer.
endIndicateur 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
selfPointeur vers l'instance à detruire. L'adresse libérée est mise automatiquement à la valeur NULL.
bool C_Str_write_to_file ( C_Str *const  self,
const char *  filename,
const char *  mode 
)

Ecrit le contenu d'un objet C_Str dans le fichier spécifié.

Paramètres
selfPointeur vers une instance valide d'un objet C_Str.
filenameFichier de destination.
modeMode d'ouverture du fichier.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
C_Str_error C_Str_get_error ( C_Str *const  self)

Retourne l'erreur stockée dans l'objet passé en paramètre.

Paramètres
selfPointeur vers une instance valide d'un objet C_Str.
Renvoie
Retourne une erreur de type C_Str_error.
void * C_Str_access_to_generic_buff ( C_Str *const  self)

Retourne un pointeur générique non-constant (type void*) du buffer de l'objet C_Str passé en arguement.

Attention
Le buffer peut être changé manuellement, ne pas utiliser cette fonction si vous ne savez pas ce que vous faite !
Paramètres
selfInstance valide d'un objet C_Str.
Renvoie
Pointeur générique non-constant (type void*).
const char * C_Str_get ( C_Str *const  self)

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

Paramètres
selfInstance 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.
char * C_Str_get_new_string ( C_Str *const  self)

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

Paramètres
selfInstance valide d'un objet C_Str.
Renvoie
Pointeur vers une nouvelle copie de la chaîne stockée par l'objet. NULL en cas d'échec.
Attention
Il faut libérer vous-même la chaîne avec la fonction standard free() !
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
selfInstance valide d'un objet C_Str.
Renvoie
Longueur de la chaîne.
bool C_Str_is_empty ( C_Str *const  self)

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

Paramètres
selfInstance valide d'un objet C_Str.
Renvoie
true si la chaîne est vide, false sinon.
bool 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
selfPointeur vers l'instance de l'objet.
s_strChaî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
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si la fonction se termine normalement.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire échoue.
bool 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
butPointeur vers l'instance de l'objet de destination.
sourcePointeur 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
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si la fonction se termine normalement.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire échoue.
bool 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
selfPointeur vers l'instance de l'objet.
char_posPosition du caractère à changer de casse. L'index commence à 0.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • 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_BAD_INDEX si l'index fournit en second argument est hors des limites.
bool 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
selfPointeur vers l'instance de l'objet.
char_posPosition du caractère à changer de casse. L'index commence à 0.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • 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_BAD_INDEX si l'index fournit en second argument est hors des limites.
bool C_Str_to_upper ( C_Str *const  self)

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

Paramètres
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • 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.
bool C_Str_to_lower ( C_Str *const  self)

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

Paramètres
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • 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.
bool C_Str_capitalize ( C_Str *const  self)

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

Paramètres
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • 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.
bool C_Str_swap_case ( C_Str *const  self)

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

Paramètres
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • 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.
bool 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
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si aucune erreur.
  • 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.
bool 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
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si aucune erreur.
  • 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.
bool 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
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si aucune erreur.
  • 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.
bool 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
selfPointeur vers l'instance de l'objet.
startIndex de départ du remplacement.
lenghtLongueur du remplacement.
s_strChaine de remplacement.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si aucune erreur.
  • 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.
bool 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
selfPointeur vers l'instance de l'objet.
old_letterLettre à remplacer.
new_letterLettre de remplacement.
Renvoie
true si l'action à réussie, false sinon. Vous pouvez retrouver le code d'erreur stocké dans l'objet avec la fonction C_Str_get_error
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_NO_CHAR_FOUND si aucun caractère n'a été trouvé.
  • 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
selfPointeur vers l'instance de l'objet.
Mettre cet argument a NULL pour connaitre la position de la prochaîne occurence de la meme lettre.
letterOccurence 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.
Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_END_STR si la fin de la chaîne a été atteinte.
int C_Str_r_index ( C_Str *const  self,
const char  letter 
)

Retrouve la position de la dernière occurence de la lettre passée en argument.

Paramètres
selfPointeur vers l'instance de l'objet.
letterLettre à retrouver.
Renvoie
Position de la lettre si elle à été trouvée, -1 dans le cas contraire. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
char C_Str_char_at ( C_Str *const  self,
size_t  index 
)

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

Paramètres
selfPointeur vers l'instance de l'objet.
indexIndex du caractère à retrouver.
Renvoie
Caractere à l'index spécifié, caractère nul en cas d'erreur. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
lenLongueur 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. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
lenLongueur à 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. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
Renvoie
Adresse de la copie de la chaîne sinon NULL en cas d'erreur. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
Renvoie
Adresse de la copie de la chaîne sinon NULL en cas d'erreur. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
startMarqueur de depart du découpage.
endMarqueur de fin du découpage.
Renvoie
true si l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire a echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
letterLettre dont il faut trouver le nombre d'occurences.
Renvoie
Nombre d'occurence trouvée. 0 si aucune occurence. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
wordMot 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. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool 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
selfPointeur vers l'instance de l'objet.
wordMot dont il faut l'existence dans la chaîne.
Renvoie
true si le mot a été trouvé, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool 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
selfPointeur vers l'instance de l'objet.
letterLettre dont il faut l'existence dans la chaîne.
Renvoie
true si la lettre a été trouvée, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
sub_stringSous-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. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
sub_stringPointeur 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. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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
selfPointeur vers l'instance de l'objet.
startIndicateur de début de la sous-chaîne à récupérer.
endIndicateur 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. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
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.

Attention
Le tableau doit être libéré avant la fin du programme avec la fonction: C_Str_free_split_tab ou une des macro C_Str_free_split ou C_Str_free_tab.
Paramètres
selfPointeur vers l'instance de l'objet.
sepListe 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 chaînes contenant tous les mots de la chaîne. Si vous ne spécifiez pas de caractère séparateur, c'est le caractère 'Espace' qui est pris par défaut. En cas d'erreur, la fonction retourne la valeur NULL. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire a echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
void 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
tabAdresse du tableau de chaînes crée par la fonction: C_Str_split.
bool 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
selfPointeur vers l'instance de l'objet.
s_strChaine à comparer avec celle de l'instance de l'objet.
Renvoie
true si les chaînes sont identiques, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire a echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool 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
selfPointeur vers l'instance de l'objet.
comparePointeur vers l'instance d'un autre objet pour la comparaison.
Renvoie
true si les chaînes sont identiques, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire a echouée.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool C_Str_compare ( C_Str *const  self,
char const *const  s_str 
)

Comparaison de chaînes de caractères.

Paramètres
selfPointeur vers l'instance de l'objet.
s_strChaine à comparer avec celle de l'instance de l'objet.
Renvoie
true si les chaînes sont identiques, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool C_Str_compare_obj ( C_Str *const  self,
C_Str *const  compare 
)

Comparaison de chaînes de caractères.

Paramètres
selfPointeur vers l'instance de l'objet.
compareChaine à comparer avec celle de l'instance de l'objet.
Renvoie
true si les chaînes sont identiques, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool C_Str_compare_to_object ( C_Str *const  s1,
C_Str *const  s2 
)

Comparaison de deux objets de type C_Str.

Paramètres
s1Pointeur vers l'instance de l'objet.
s2Pointeur vers l'instance de l'objet de la comparaison.
Renvoie
true si les deux objets sont égaux, false sinon.
bool 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
selfPointeur vers l'instance de l'objet.
Renvoie
true si l'action a réussie, false sinon.
bool 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
selfPointeur vers l'instance de l'objet.
s_strChaine de caractère à insérer dans la chaîne de l'instance de l'objet.
Renvoie
true si l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucun problème.
  • C_STR_DYN_ALLOC_ERR si une allocation dynamique en mémoire à echouée.
bool 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
selfPointeur vers l'instance de l'objet.
cCaractère a insérer.
lenLongueur.
Renvoie
true si l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucun problème.
  • C_STR_INVALID_SIZE si l'argument 'len' est incorrect.
bool 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
selfPointeur vers l'instance de l'objet.
s_strPréfixe a retrouver au début de la chaîne.
Renvoie
true l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool 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
selfPointeur vers l'instance de l'objet.
startPointeur vers l'instance d'un objet contenant le préfixe à rechercher.
Renvoie
true l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool 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
selfPointeur vers l'instance de l'objet.
s_strSuffixe à retrouver en fin de chaîne.
Renvoie
true l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool 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
selfPointeur vers l'instance de l'objet.
endPointeur vers l'instance d'un objet contenant le suffixe à rechercher.
Renvoie
true l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • C_STR_BAD_STR_LEN si la chaîne est vide.
bool C_Str_reverse ( C_Str *const  self)

Inverse la chaîne de caractères.

Paramètres
selfPointeur vers l'instance de l'objet.
Renvoie
true l'action a réussie, false sinon. Vous pouvez récupérer la valeur de l'erreur stockée dans l'objet passé paramètre avec la fonction C_Str_get_error.
  • C_STR_NO_ERR si aucune erreur.
  • 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
selfPointeur vers l'instance de l'objet à cloner.
Renvoie
Adresse du clone de l'instance de l'objet source. NULL en cas d'échec.