J'ai un char buffer[100]
et j'essaie d'utiliser gdb pour lire le contenu de celui-ci à différentes étapes de l'exécution.L'impression gdb n'imprimera pas quelque chose de lisible de mon tableau de char
j'utilise p buffer
et je reçois
"/*\000\000\000\000\000\000????X?o\000\025\202\004\b", '\0' <repeats 12 times>, ".N=?", '\0' <repeats 24 times>, "`\203\004\b\000\000\000\000L\227\004\bX????\202\004\b?\017\204\000\f?\203\000\210???i\205\004\b??r"
comment puis-je p
pour le convertir en un format lisible ???
Assurez-vous qu'il y a des données imprimables (lisibles) dans le tampon? GDB imprime ce qui est présent - pas ce que vous aimeriez être là. Pour le moment, 'strcmp (buffer,"/* ") == 0'. –
hmm, donc je suis définitivement nouveau à ce sujet, et comme un commentaire de côté, pourquoi strcmp (buffer, "/ *") == 0 important? évidemment, il y a beaucoup plus dans ce tampon que juste "/ *" donc il me semble évident que strcmp retournerait 0 ... – sepiroth
C'est le "\ 000" qui représente le "null" qui marque la fin de la chaîne C . Donc, votre tampon, considéré comme contenant une chaîne C, contient vraiment la chaîne "/ *" (c'est ce que Jonathan Leffler obtient avec son équation 'strcmp' - notez que' strcmp' renvoie 0 quand les chaînes sont identiques). –