π
<-
Chat plein-écran
[^]

Bilbiothèque C de fonctions de chaînes de caractères et de fonctions pour listes d'entiers et de chaîne de caractères et système de gestion des fuites mémoire


Hiérarchie des fichiers

DownloadTélécharger

Actions



Vote :

ScreenshotAperçu


Informations

Catégorie :Category: Utilitaires Autres...
Auteur Author: Bobb
Type : Texte
Taille Size: 4.30 Ko KB
Mis en ligne Uploaded: 18/02/2022 - 16:30:38
Uploadeur Uploader: Bobb (Profil)
Téléchargements Downloads: 20
Visibilité Visibility: Archive publique
Shortlink : http://ti-pla.net/a2866049

Description 

Blibliothèque de fonctions de chaînes de caractères et de listes.
La bibliothèque inclut stdio.h, stdlib.h, string.h, math.h.
Elle définit trois nouveaux types :
intlist : liste d'entiers ainsi que de nombreuses fonctions associées
ptrlist : liste de pointeurs et fonctions associées
strlist : liste de chaines de caractères ainsi que de nombreuses fonctions associées


La bibliothèque possède un système de détection et de gestion des fuites mémoire.
Pour le faire fonctionner, appelez les fonctions err_malloc() et err_free() au lieu de malloc() et free().
A chaque allocation, la fonction err_malloc() va enregistrer le pointeur alloué dans une liste de pointeurs (ptrlist).
Si vous appelez err_free(), la fonction va retirer le pointeur libéré de la liste de pointeurs, et si vous ne le faites pas, tous vos pointeurs seront libérés après lors de l'appel à freeAllPtr(). Cette fonction vous indiquera le nombre de pointeurs libérés à la fin et leur adresse. Pour utiliser cette gestion de fuites mémoires, voici comment doit être votre fonction main() :

[code]int main(void)
{
allocptr.tab=malloc(0);// crée la liste qui contiendra les pointeurs alloués dynamiquement
allocptr.len=0;//initialise la longueur de base à 0

//ici le corps de votre fonction main

freeAllPtr();//permet de libérer tous les pointeurs alloués dynamiquement par err_malloc() en cas de fuite de mémoire
return 0;
}
[/code]

Voici tous les prototypes de fonctions définies dans la bibliothèque :

[code]void freeAllPtr(void);
void quitError(char* message);
void* err_malloc(size_t taille);
void err_memset(void* ptr, int valeur, size_t taille);
void* err_realloc(void* ptr, size_t taille);
void err_free(void* ptr);

/**************************ptrlist**********************/
ptrlist ptrlist_create(unsigned len);
void ptrlist_append(ptrlist* list, void* ptr);
void ptrlist_remove(ptrlist* list, void* ptr);
unsigned ptrlist_index(ptrlist* list, void* ptr);



/**************************intlist**********************/
intlist intlist_create(unsigned len);
void intlist_aff(intlist* list);
void intlist_append(intlist* list,long long int nombre);
void intlist_resize(intlist* list, unsigned newLen);
void intlist_remove(intlist* list,unsigned index);
unsigned intlist_count(intlist* list, long long int nb);
_Bool intlist_inList(intlist* list, long long int nombre);
int intlist_index(intlist* list, long long int nombre);
void intlist_insert(intlist* list,long long int nombre, unsigned index);



/**************************strlist**********************/
void strlist_destroy(strlist* list);
strlist strlist_create(unsigned len);
void strlist_aff(strlist* list);
void strlist_append(strlist* list, char *chaine);
void strlist_resize(strlist* list, unsigned newLen, _Bool freeElement);
void strlist_remove(strlist* list,unsigned index, _Bool freeElement);
unsigned strlist_count(strlist* list, char* chaine);
_Bool strlist_inList(strlist* list, char* chaine);
int strlist_index(strlist* list, char* chaine);
void strlist_insert(strlist* list,char* chaine, unsigned index);

// Chaines de caractères :

char* sub(char* string,unsigned debut,unsigned fin);//a liberer après
char* replace(char*, char*, char*);//a liberer après
void cleanStdin(void);
char* addStr(char* str1, char* str2);//a liberer après
long double strToNb(char *string);
char* nbToStr(long double number);//a liberer après
unsigned count(char* string, char* search);
void pause(void);
char* input(char *text);//a libérer après
[/code]

Archive contentsContenu de l'archive

Action(s) SizeTaille FileFichier
17.55 Ko KB lib.c

Pub / Ads

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1338 utilisateurs:
>1277 invités
>55 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)