π
<-

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


File hierarchy

 Downloads
 Uploaded files(15584)
 Autres...(7117)

 Utilitaires(4)

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: 22
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
-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
835 utilisateurs:
>773 invités
>53 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)