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

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_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))
 
#define C_STR_OPEN_R   "r"
 
#define C_STR_OPEN_READ
 
#define C_STR_OPEN_W   "w"
 
#define C_STR_OPEN_WRITE   "w"
 
#define C_STR_OPEN_A   "a"
 
#define C_STR_OPEN_APPEND   "a"
 
#define C_STR_OPEN_RW   "r+"
 
#define C_STR_OPEN_RWA   "a+"
 

Définitions de type

typedef void(* C_Str_callback )(void *data, void *user_data)
 
typedef struct _C_Str C_Str
 
typedef struct _C_Str_buffer C_Str_buffer
 

É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 (const char *s_str)
 
C_StrC_Str_new_from_file (const char *s_file)
 
C_StrC_Str_new_from_sub_string (const char *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 **self)
 
C_Str_bufferC_Str_buffer_new (void)
 
C_StrC_Str_buffer_get_first (C_Str_buffer *self)
 
C_StrC_Str_buffer_get_last (C_Str_buffer *self)
 
C_StrC_Str_buffer_get_prev (C_Str *self)
 
C_StrC_Str_buffer_get_next (C_Str *self)
 
C_StrC_Str_buffer_get_current (C_Str_buffer *self)
 
C_StrC_Str_buffer_get_index (C_Str_buffer *self, size_t index)
 
size_t C_Str_buffer_len (C_Str_buffer *self)
 
bool C_Str_buffer_prepend (C_Str_buffer *self, C_Str *str)
 
bool C_Str_buffer_append (C_Str_buffer *self, C_Str *str)
 
bool C_Str_buffer_remove_index (C_Str_buffer *self, size_t index)
 
void C_Str_buffer_destroy (C_Str_buffer **self)
 
void C_Str_buffer_foreach (C_Str_callback cb, C_Str_buffer *buff, void *user_data)
 
bool C_Str_buffer_write_to_file (C_Str_buffer *self, const char *filename, const char *mode)
 
C_Str_error C_Str_buffer_get_error (C_Str_buffer *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, const char *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, const char *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, const char *word)
 
bool C_Str_is_word_in_string (C_Str *const self, const char *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)
 
C_Str_bufferC_Str_split (C_Str *const self, const char *sep)
 
C_Str_bufferC_Str_split_lines (C_Str *const self, bool keepend)
 
bool C_Str_compare_ignore_case (C_Str *const self, const char *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, const char *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, const char *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, const char *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, const char *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.1.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.
Son passage en version 3.1.0 implique certains changements notamment pour la fonction C_Str_split qui retourne maintenant un pointeur sur un objet C_Str_buffer et non plus un char** et, par la même occasion, la fonction C_Str_free_split_tab ou les macros C_Str_free_split et C_Str_free_tab n'existent également plus, celles-ci sont remplacées par la fonction C_Str_buffer_destroy qui est spécifiquement créée pour détruire des objets de type C_Str_buffer !

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_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.
#define C_STR_OPEN_R   "r"

Equivalent au mode d'ouverture standard de fichier "r".

#define C_STR_OPEN_READ

Equivalent au mode d'ouverture standard de fichier "r".

#define C_STR_OPEN_W   "w"

Equivalent au mode d'ouverture standard de fichier "w".

#define C_STR_OPEN_WRITE   "w"

Equivalent au mode d'ouverture standard de fichier "w".

#define C_STR_OPEN_A   "a"

Equivalent au mode d'ouverture standard de fichier "a".

#define C_STR_OPEN_APPEND   "a"

Equivalent au mode d'ouverture standard de fichier "a".

#define C_STR_OPEN_RW   "r+"

Equivalent au mode d'ouverture standard de fichier "r+".

#define C_STR_OPEN_RWA   "a+"

Equivalent au mode d'ouverture standard de fichier "a+".

Documentation des définitions de type

C_Str_callback

Signature de la fonction de callback pour la bibliothèque, utilisée pour fonction C_Str_buffer_foreach.

Type opaque représentant l'objet string.

Type opaque représentant l'objet buffer.

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 ( const char *  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 ( const char *  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 ( const char *  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 **  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.
C_Str_buffer * C_Str_buffer_new ( void  )

Créé une nouvelle instance d'un objet C_Str_buffer. Le buffer est vide et sa propriété len est initialisée à zéro.

#include <stdio.h>
#include <stdlib.h>
#include "c_str.h"
void cb (void * p_data, void * p_user_data)
{
(void)p_user_data;
printf ("%s", C_Str_get ((C_Str *)p_data));
}
int main (void)
{
C_Str * str = C_Str_new_from_file ("main.c");
C_Str_buffer * buff = C_Str_split_lines (str, false);
if (str && buff)
{
C_Str_buffer_foreach(cb, buff, NULL);
C_Str_destroy (&str);
}
return EXIT_SUCCESS;
}

Un exemple de création de parcours d'un C_Str_buffer sans la fonction C_Str_buffer_foreach:

#include <stdio.h>
#include <stdlib.h>
#include "c_str.h"
int main (void)
{
C_Str * str = C_Str_new_from_file ("main.c");
C_Str_buffer * buff = C_Str_split_lines (str, false);
if (str && buff)
{
C_Str * tmp = C_Str_buffer_get_first (buff);
while (tmp != NULL)
{
printf ("%s", C_Str_get (tmp));
tmp = C_Str_buffer_get_next (tmp);
}
C_Str_destroy (&str);
}
return EXIT_SUCCESS;
}
Renvoie
Pointeur vers la nouvelle instance de l'objet.
NULL en cas d'échec.
C_Str * C_Str_buffer_get_first ( C_Str_buffer self)

Retourne le premier C_Str d'un C_Str_buffer.

Paramètres
selfPointeur vers un C_Str_buffer valide.
Renvoie
Pointeur vers un C_Str ou NULL
C_Str * C_Str_buffer_get_last ( C_Str_buffer self)

Retourne le dernier C_Str d'un C_Str_buffer.

Paramètres
selfPointeur vers un C_Str_buffer valide.
Renvoie
Pointeur vers un C_Str ou NULL
C_Str * C_Str_buffer_get_prev ( C_Str self)

Retourne le pointeur précédent d'un C_Str.

Paramètres
selfPointeur vers un C_Str valide.
Renvoie
Pointeur vers un C_Str ou NULL
C_Str * C_Str_buffer_get_next ( C_Str self)

Retourne le pointeur suivant d'un C_Str.

Paramètres
selfPointeur vers un C_Str valide.
Renvoie
Pointeur vers un C_Str ou NULL
C_Str * C_Str_buffer_get_current ( C_Str_buffer self)

Retourne un pointeur sur le pointeur courant de l'objet de type C_Str dans le C_Str_buffer passé en argument.

Paramètres
selfPointeur sur un C_Str_buffer valide.
Renvoie
Pointeur sur un C_Str ou NULL en cas d'échec ou si le pointeur courant du C_Str_buffer est vide ou si le C_Str_buffer est vide.
C_Str * C_Str_buffer_get_index ( C_Str_buffer self,
size_t  index 
)

Retrouve un objet de type C_Str contenu dans un C_Str_buffer à une position donnée. L'index comme à zéro et sa valeur maximale correspond au nombre d'éléments n-1.

Paramètres
selfPointeur sur un C_Str_buffer valide.
indexPosition de l'objet C_Str à retrouver.
Renvoie
Pointeur sur un objet de type C_Str.
NULL si l'index est inférieur ou supérieur au nombre d'objet dans le buffer.
size_t C_Str_buffer_len ( C_Str_buffer self)

Renvoi le nombre d'objet C_Str dans le C_Str_buffer.

Paramètres
selfPointeur sur un C_Str_buffer valide.
Renvoie
Nombre d'objet C_Str.
Zéro si le C_Str_buffer ne comtient aucun C_Str ou si l'argument vaut NULL.
bool C_Str_buffer_prepend ( C_Str_buffer self,
C_Str str 
)

Ajoute l'objet C_Str passé en second argument dans le buffer passé en premier argument. L'ajout se fait par le début du buffer.

Paramètres
selfPointeur sur un C_Str_buffer valide.
strPointeur sur un C_Str valide.
Renvoie
true Si l'opération a réussie
false Si l'opération a échouée ou si un des arguments vaut NULL
bool C_Str_buffer_append ( C_Str_buffer self,
C_Str str 
)

Ajoute l'objet C_Str passé en second argument dans le buffer passé en premier argument. L'ajout se fait par la fin du buffer.

Paramètres
selfPointeur sur un C_Str_buffer valide.
strPointeur sur un C_Str valide.
Renvoie
true Si l'opération a réussie
false Si l'opération a échouée ou si un des arguments vaut NULL
bool C_Str_buffer_remove_index ( C_Str_buffer self,
size_t  index 
)

Retire et détruit un objet C_Str d'un C_Str_buffer.

Paramètres
selfPointeur sur un C_Str_buffer valide.
indexPosition de l'objet C_Str à retirer.
Renvoie
true Si l'opération a réussie
false Si l'opération a échouée ou si le premier argument vaut NULL ou l'index spécifié est incorrecte
void C_Str_buffer_destroy ( C_Str_buffer **  self)

Détruit un C_Str_buffer ainsi que tous les C_Str qu'il contient. Si l'opération réussie, l'objet en paramètre vaut alors NULL.

Paramètres
selfAdresse d'un C_Str_buffer valide.
void C_Str_buffer_foreach ( C_Str_callback  cb,
C_Str_buffer buff,
void *  user_data 
)

Parcours tous les objects C_Str du premier au dernier. Pour chaque objet trouvé, la fonction passée en premier argument est appelée. Dans la fonction callback, le premier argument correspond à l'objet C_Str en cours.

Paramètres
cbPointeur sur une fonction dans la signature doit être rigoureusement identique à la signature de la fonction C_Str_callback.
buffPointeur valide sur un C_Str_buffer
user_dataPointeur générique sur des données utilisateur qui sera retransmit au second argument de la fonction callback
bool C_Str_buffer_write_to_file ( C_Str_buffer self,
const char *  filename,
const char *  mode 
)

Créé un fichier dont le nom est passé en second argument, l'ouvre dans le mode spécifié en troisième argument et y écrit le contenu de l'objet C_Str_buffer passé en premier argument. Le comportement de la création correspond en tous points à celui du standard. Par exemple, si vous ouvrez un fichier en mode écriture et qu'il existe déjà un fichier de même nom, celui-ci sera écrasé !

Paramètres
selfPointeur sur un C_Str_buffer valide.
filenameChemin et nom du fichier
modeMode d'ouverture qui peut prendre les valeurs suivantes:
Renvoie
true si l'opération a réussie.
false si le premier argument vaut NULL ou dans d'autres cas dont l'erreur pourra être récupéré avec la fonction C_Str_buffer_get_error qui retournera l'une des valeurs suivante:
C_Str_error C_Str_buffer_get_error ( C_Str_buffer *const  self)

Récupère la dernière erreur qui s'est produite sur le C_Str_buffer passé en argument.

Paramètres
selfPointeur sur un C_Str_buffer valide
Renvoie
Erreur de type C_Str_error
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,
const char *  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,
const char *  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,
const char *  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,
const char *  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.
C_Str_buffer * C_Str_split ( C_Str *const  self,
const char *  sep 
)

Eclate une chaîne de caractères mot par mot. Chaque sous-chaîne est stockée dans un C_Str qui lui même se retrouve dans un C_Str_buffer.

Attention
Le C_Str_buffer doit être libéré explicitement par la fonction C_Str_buffer_destroy
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
Pointeur vers un nouvel C_Str_buffer rempli avec des C_Str. 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_buffer_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.
C_Str_buffer * C_Str_split_lines ( C_Str *const  self,
bool  keepend 
)

Eclate une chaîne de caractères multiligne en lignes bien distinctes. Les caractères d'échappement "\r" et "\n" sont pris en compte dans le découpage du texte. Chaque C_Str correspondant à une ligne se retrouve stocké dans un C_Str_buffer créé par la fonction elle-même.

Attention
Les C_Str_buffer doivent être explicitement libérés avec la fonction C_Str_buffer_destroy.
Paramètres
selfPointeur sur un C_Str valide.
keependSi l'argument est mis à true, les caractères d'échappement ne seront présents dans les nouvelles chaînes de caractères. Si vous désirez les conserver, il faut mettre l'argument à false
Renvoie
Pointeur vers un nouveau C_Str_buffer, NULL en cas d'échec.
bool C_Str_compare_ignore_case ( C_Str *const  self,
const char *  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,
const char *  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,
const char *  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,
const char *  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,
const char *  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.