cs_arc59
Messages postés32Date d'inscriptionmardi 15 janvier 2002StatutMembreDernière intervention24 mars 2011
-
25 sept. 2002 à 15:36
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 2008
-
25 sept. 2002 à 23:36
J'ai créé un programme qui permet de lire les tag des fichiers MP3. Ce programme utilise une structure de pointeurs vers des char. Les tag d'un fichier MP3 sont souvent incomplet : il manque par exemple le nom de l'album. Je ne reserve donc pas d'espace pour le pointeur *album. Mon probleme est le suivant : lorsque j'affiche les infos, j'aimerai n'afficher que les pointeurs qui pointe vers un emplacement memoire reservé par mon programme. Comment faire ?
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 25 sept. 2002 à 17:05
-------------------------------
Réponse au message : Je ne suis pas sûr d'avoir tout compris mais initialise tous tes pointeurs à NULL. Ensuite :
if(ptr!=NULL)
afficher(*ptr)
else
afficher("info non disponible")
-------------------------------
J'ai créé un programme qui permet de lire les tag des fichiers MP3. Ce programme utilise une structure de pointeurs vers des char. Les tag d'un fichier MP3 sont souvent incomplet : il manque par exemple le nom de l'album. Je ne reserve donc pas d'espace pour le pointeur *album. Mon probleme est le suivant : lorsque j'affiche les infos, j'aimerai n'afficher que les pointeurs qui pointe vers un emplacement memoire reservé par mon programme. Comment faire ?
cs_arc59
Messages postés32Date d'inscriptionmardi 15 janvier 2002StatutMembreDernière intervention24 mars 2011 25 sept. 2002 à 19:11
j'y ai pensé mais sa veut dire qu'il faut le faire à chaque fois que je crée une structure de ce type.
reexplication du probleme : comment savoir si un pointeur a été ou non initialisé avec une adresse ? En gros, a t'on reservé de l'espace pour ce pointeur avec malloc. Je cherche à le savoir pour ne pas afficher le contenu des pointeurs non initialisé et ainsi, évité l'affichage d'une erreur.
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 25 sept. 2002 à 19:39
Tu dois faire comme Golden Eye te l'as expliqué, pourquoi ca te déranges de mettre à NULL les pointeurs de ta structure ?
Sinon impossible de savoir si le pointeur est valide on non.
cs_GoldenEye
Messages postés527Date d'inscriptionvendredi 14 septembre 2001StatutMembreDernière intervention 6 octobre 20084 25 sept. 2002 à 23:36
-------------------------------
Réponse au message : maintenant que j'ai compris, je réitère ce que j'ai dit. Tu initialises ton ptr à NULL. Y a pas d'autre moyen(s)
-------------------------------
Tu dois faire comme Golden Eye te l'as expliqué, pourquoi ca te déranges de mettre à NULL les pointeurs de ta structure ?
Sinon impossible de savoir si le pointeur est valide on non.
-------------------------------
Réponse au message :
-------------------------------
j'y ai pensé mais sa veut dire qu'il faut le faire à chaque fois que je crée une structure de ce type.
reexplication du probleme : comment savoir si un pointeur a été ou non initialisé avec une adresse ? En gros, a t'on reservé de l'espace pour ce pointeur avec malloc. Je cherche à le savoir pour ne pas afficher le contenu des pointeurs non initialisé et ainsi, évité l'affichage d'une erreur.
Merci
-------------------------------
Réponse au message :
-------------------------------
-------------------------------
Réponse au message : Je ne suis pas sûr d'avoir tout compris mais initialise tous tes pointeurs à NULL. Ensuite :
if(ptr!=NULL)
afficher(*ptr)
else
afficher("info non disponible")
-------------------------------
J'ai créé un programme qui permet de lire les tag des fichiers MP3. Ce programme utilise une structure de pointeurs vers des char. Les tag d'un fichier MP3 sont souvent incomplet : il manque par exemple le nom de l'album. Je ne reserve donc pas d'espace pour le pointeur *album. Mon probleme est le suivant : lorsque j'affiche les infos, j'aimerai n'afficher que les pointeurs qui pointe vers un emplacement memoire reservé par mon programme. Comment faire ?