Erreur de segmentation sur une fonction pour découper des informations
Fermé
ArionSH
-
Modifié le 29 avril 2020 à 19:12
NHenry Messages postés 15047 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mars 2023 - 30 avril 2020 à 00:50
NHenry Messages postés 15047 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mars 2023 - 30 avril 2020 à 00:50
A voir également:
- Erreur de segmentation sur une fonction pour découper des informations
- Erreur de segmentation c - Astuces et Solutions
- Segmentation fault (core dumped) ✓ - Forum Programmation
- Erreur de segmentation (core dumped) ✓ - Forum C
- Découper pdf - Guide
- Découper une video - Guide
1 réponse
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
30 avril 2020 à 00:50
30 avril 2020 à 00:50
Je n'ai pas bien compris à quoi servent tout ces nombre magiques (85, 17, 37, 44, 51, 78), c'est souvent signe d'une mauvaise conception.
Ensuite, de ce que j'ai compris de "strsep", la valeur retournée devient NULL quand il n'a plus rien à transmettre.
J'en déduis donc que comme ta chaine de départ est vide, il ne prut retourner qu'une seule valeur, et au 2ième tour de ton for, tu fais un strcpy entre un char* (initialisé en global, je suppose, c'est une mauvaise pratique, on évite les variables globales) et un NULL.
Donc strcpy devrait se vautrer correctement.
À côté de cela, je vois "i <= lg" dans ton while, cela veut donc dire que le paramètre "lg" correspond à nombre d'item - 1 de ton tableau "tab".
Je ne fais pas de C/C++, mais il me semble qu'en regardant ce point ça devrait t'aiguiller.
Sinon, un coup de pas à pas peut aussi être pratique.
Ensuite, de ce que j'ai compris de "strsep", la valeur retournée devient NULL quand il n'a plus rien à transmettre.
J'en déduis donc que comme ta chaine de départ est vide, il ne prut retourner qu'une seule valeur, et au 2ième tour de ton for, tu fais un strcpy entre un char* (initialisé en global, je suppose, c'est une mauvaise pratique, on évite les variables globales) et un NULL.
Donc strcpy devrait se vautrer correctement.
À côté de cela, je vois "i <= lg" dans ton while, cela veut donc dire que le paramètre "lg" correspond à nombre d'item - 1 de ton tableau "tab".
Je ne fais pas de C/C++, mais il me semble qu'en regardant ce point ça devrait t'aiguiller.
Sinon, un coup de pas à pas peut aussi être pratique.