Bonjour,
je suis pas trop expert en C mais j'ai quand meme des connaissances de bases et j'essaie de me perfectionner. Je me suis attaqué au redimensionnement de tableau.
J'ai donc une structure :
une fonction pour m'aggrandir mon tableau de cette structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 typedef struct { SOCKET socket; SOCKADDR_IN sin; char nom[255]; int connexion; int position_x; int position_y; } client;
et une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int aggrandir_tableau(client * clients, long nombre) { clients = realloc(clients, nombre * sizeof(client)); if (clients == NULL) { return 0; } else { return 1; } }
Mon problème, c'est qu'après 4 ou 5 passage dans la boucle, windows me fait l'erreur : le programme a généré des erreurs...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 client *clients; long nombre_clients = 0; while(1) { nombre_clients++; aggrandir_tableau(clients, nombre_clients); printf("tableau aggrandi...\n"); strcpy(clients[nombre_clients-1].nom,"test"); printf("%s", clients[nombre_clients-1].nom); getch(); }
Savez-vous d'ou cela peut venir ??? est-ce que je redimensionne correctement ?
Merci d'avance
Partager