Le code est pourri je confirme mais moi je vois encore une autre erreur.
char** data = malloc(sizeof(char**));
cool , tu alloue 4 ou 8 octets (ça dépend si on est en 32 ,64 bits).
ça sent le segfault a plein nez si tu l’utilise
int cut(char*** data, char* message, const char delim){
Je ne vois pas ou tu as besoin d' un triple pointeur dans ton code (et donnait le pointeur d'un double pointeur en paramètre c'est vraiment chelou), si on maîtrise pas les pointeurs on évite leur utilisation au stricte minimum , alors un triple pointeur c'est la casse assuré.
En faite de toute ma carrière de dev je ne l'ai jamais utilisé (le triple pointeur) pourtant j'ai fait du bas niveau en C du jeux vidéo 2D/3D avec et des concepts plus complexe que "découper une chaine de caractere".
Pour moi le souci vient de deux choses principalement :
1) ton algo est mal pensé , je veux dire découpé une chaine de caractere on peut faire beaucoup mais beaucoup plus simple.
2) tu ne maîtrise pas les pointeurs suffisamment pour partir sur un algo aussi complexe.
3)Donc le but c'est de savoir simplifié son probleme pas le complexifier (surtout qu'on est débutant).
Partager