CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] bug incompréhensible...

Calmacil
Calmacil
Niveau 47
20 novembre 2012 à 21:43:12

Salut, je me dirige vers vous pour réussir à résoudre ce problème : http://www.developpez.net/forums/d1281173/c-cpp/c/programme-c-segmentation-fault/#post6990510 (dernier message le plus important)

Si vous trouvez, je vous serai très reconnaissant, merci.

godrik
godrik
Niveau 30
20 novembre 2012 à 21:45:10

Tu as fais les verifications d'usage pour tous les programmes C?

Rappel:
-compile en -Werror -Wall -std=c99
-passe splint sur le code
-fait tourner le code dans valgrind

Calmacil
Calmacil
Niveau 47
20 novembre 2012 à 22:07:57

j'ai un makefile qui me fait la compilation tout bien oui

C'est quoi splint ? Et pour valgrind, il a pas l'air de trouver quelque chose de spécial, donc j'me demande si c'est pas une erreur d'algo...

godrik
godrik
Niveau 30
21 novembre 2012 à 00:35:26

Quand je fais tourner valgrind, il me trouve de la memoire non desalloue y compris de la memoire qui n'est plus accessible. Clairement c'est une partie de ton probleme.

Ensuite ton probleme principale vient de ta mal comprehension de la fonction strtok. Affiche les valeures des pointeurs passe en parametre et retourne. Tu vera que les addresses sont en collisions.

C'est decrit dans le manuel de strtok (je te laisse le lire en details). strtok modifie le contenue de la chaine pour ajouter des \0 la ou il y a un delimiteur.

Calmacil
Calmacil
Niveau 47
21 novembre 2012 à 10:21:51

Mais du coup je vois pas du tout comment faire, ça m'embrouille tout ça...

Nightmarez
Nightmarez
Niveau 9
21 novembre 2012 à 18:49:58

Il faut que tu dupliques le retour de Strtok, qui possede un buffer interne pour eviter de l'allocation inutile. Les char * dans tes maillons referent au final a l'adresse du buffer de strtok, et non a une nouvelle chaine.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment