Débugge ton programme en gardant un œil sur la valeur de ton champ "graine". Il est probable que tu tentes d'écrire dedans alors qu'il est trop petit (peut-être à la ligne 83 ?)
J'ai utilisé gdb et il me détecte bien une erreur de segmentation, je l'avais déjà utilisé avant de publier ici. Le problème vient de "graine", mais je ne comprends pas, la longueur de la graine est bonne, et je ne fais pas de sortie de tableau. De plus quand je demande dans ma boucle d'afficher la graine caractère par caractère cela fonctionne. Par contre modifier la graine pour mettre un autre caractère cela ne fonctionne pas..
int main(){
LFSR *lfsr = initialisation("01101000010", 8);
int r = operation(lfsr);
return 0;
}
Voila comment j'initialise dans mon main. Je suis obligé de faire comme ça, c'est une consigne. Donc je pense que le problème vient de ma fonction initialisation, mais je ne sais pas du tout où est l'erreur..
Ou le problème est peut-être dans ma fonction get_graine, ll faudrait que j'établisse une longueur de chaine de caractère de strlen(graine) + 1 ?
Merci de vos réponses.
- Edité par FrançoisDemaret 17 mars 2018 à 19:45:48
Merci pour votre réponse, vous me sauvez, ça a fonctionné
Erreur de segmentation
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent