toolbox pour des tui - retour accueil
git clone git://bebou.netlib.re/tuit
Log | Files | Refs |
commit d0d25e20ec6a323060a635ce6275cd9d5adb841f parent 8ab2ec19ce98249d745db0d7c6ff07a8861e271f Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Mon, 9 Jun 2025 16:43:14 +0200 Allocation dynamique de la liste Comme ça on peut y mettre autant de trucs qu'on veut même si la théorie est que c'est pas trop fait pour être utilisé comme ça. C'est lent parce qu'on réimprime tout à chaque fois. Ca utilise beaucoup de mémoire parce que je sais pas comment faire autrement. Diffstat:
M | choose.c | | | 7 | +++---- |
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/choose.c b/choose.c @@ -4,10 +4,9 @@ #include <stdlib.h> #include <stdbool.h> -#define LIST_SIZE 1000 /* Le chiffre c'est des octets. Les caractères sont encodés sur un octet chacun ? * Donc si on met 5 la taille max serait 4 caractères ? */ -#define CARD_NAME_SIZE 2000 +#define CARD_NAME_SIZE 1000 int max(int a, int b) { return a > b ? a : b; } int min(int a, int b) { return a < b ? a : b; } @@ -20,11 +19,11 @@ int main(int argc, char **argv) { int curline=0; int count=0; + char line[CARD_NAME_SIZE]; char **list; - list=malloc(LIST_SIZE); - char line[CARD_NAME_SIZE]; while (fgets(line, sizeof(line), stdin)) { + list=realloc(list,(count+1)*sizeof(void*)); list[count] = malloc(CARD_NAME_SIZE); strcpy(list[count], line); count++;