Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1495 connectés 

  FORUM HardWare.fr
  Programmation
  C

  afficher une adresse memoire sans printf

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

afficher une adresse memoire sans printf

n°2210057
archseven
Posté le 12-11-2013 à 22:05:35  profilanswer
 

voilà tout est dans le titre  
 
je dois recoder la fontcion printf et j'ai juste un prblème pour le flag %p qui affiche l'adresse mémoire de la valeur pointé.
 
ce serait sympa de m'aider j'ai essayer plusieurs truc avec une fonction my_putstr qui utilise write et essayé write aussi directement donc, je ne sais plus quoi tester et a cours d'idées.
 
merci

mood
Publicité
Posté le 12-11-2013 à 22:05:35  profilanswer
 

n°2210060
tpierron
Posté le 12-11-2013 à 22:45:54  profilanswer
 

Lorsque tu récupères l'adresse du pointeur dans ta fonction, via une instruction du genre, j'imagine :

Code :
  1. void * addr = va_arg(args, void *);


Tu peux voir cette valeur comme un entier. Tu as probablement déjà des fonctions pour afficher des entiers, alors utilises les directement.

 

Petite difficulté : la taille d'un pointeur varie selon l'archi. Par exemple sous Win32:

Code :
  1. sizeof (void*) == sizeof (int) == sizeof (long) == sizeof (int32_t)


Sur Win x64:

Code :
  1. sizeof (void *) == sizeof (long long) == sizeof (int64_t)
  2.  
  3. sizeof (int) == sizeof (long) == sizeof (int32_t)
 

Dans ce dernier cas, ne passe pas un (void *) à une fonction qui traite un (int).
... et ça différe encore sous Unix: c.f http://en.wikipedia.org/wiki/64-bi [...] ata_models


Message édité par tpierron le 12-11-2013 à 22:48:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  afficher une adresse memoire sans printf

 

Sujets relatifs
[résolu] Mapping d'image sous Zendafficher vraie url pour un mirroir de site stocké en local ?
[CSS] Cacher / afficher ligne tableauAfficher une Liste.
allocation memoire dans une fonctionAfficher timestamp mtime & ctime avec résultats ls ou find
Afficher un texte au lieu de intval lorsque mon chiffre est 0Afficher un très grand nombre entier
Oracle Sql Developer, afficher fenetre de sortie de EXPLAINcomment faire une routine pour incrementer l'adresse d'une cellule
Plus de sujets relatifs à : afficher une adresse memoire sans printf


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR