Se connecter / S'enregistrer
Votre question

lire une adresse en langage c.

Tags :
  • Programmation
  • Écrans
Dernière réponse : dans Programmation
9 Décembre 2004 20:44:45

Bonjour, j'aimerai lire une adresse de pointeur sans utiliser printf("%p", void *) quelqun sait til comment on peut faire merci.

Autres pages sur : lire adresse langage

Anonyme
9 Décembre 2004 21:30:15

la commande pour récupérer l'adresse d'un pointeur, c'est l'opérateur &
10 Décembre 2004 08:20:44

Ouai sa je sait bien mais sa ne te permet pas de la lire. Se que je veux faire c'est pour voir afficher cette adresse a lecran comme printf.
Quand tu fait
printf("%p",str)
il taffiche l'adresse de str a l'ecran.
Moi j'aimerai faire la meme chose sans printf car en faite dans mon ecole on nous demande de recoder printf. Les autres options pas de probleme mais la je voit vraiment pas comment le faire.
Contenus similaires
Anonyme
10 Décembre 2004 15:02:33

Ba là je sèche.

Bon courage
10 Décembre 2004 15:11:39

ca sent le tech1 ;) 
fait comme tout le monde, recode my_printf

edit: ok javais pas bien compris tu es justement en train.
jregarde si j'ai fait cette option et jrevien te dire

edit2:
struct s_type type[]=
{
{'s', va_aff_str},
{'S', va_aff_Str},
{'i', va_aff_int},
{'d', va_aff_int},
{'c', va_aff_char},
{'x', va_aff_hexa},
{'X', va_aff_Hexa},
{'b', va_aff_bin},
{'o', va_aff_octal},
{'%', va_aff_percent},
{0, 0}
};

desoler g pas fait "p"
10 Décembre 2004 15:38:26

Ok codex, toujours aussi boulet :) 


Si tu fais un printf("%i\n", str);
tu vas recuperer un entier, plutot grand :)  c'est l'adresse de ton pointeur en base 10.
Hors toi tu la voudrais sous la forme 0x........ avec ... en hexa, donc tu vas prendre ton ptit putnbr_base ou je sais plus quoi et tu vas donc transformer la valeur que tu as recuperer (le int du debut) en hexa (base 16) auquel tu vas rajouter devant: 0x.

donc si tu as:

int i;
char *str;

tu vas faire un truc dans le genre:
i = str;
et tu vas transformer la variable i (qui est actuellement en base 10) en base 16.
comme ca apres si tu fait un truc du genre:
printf("0x%i\n", i);
[mode edition]
ou plutot un truc du style:
my_putstr("0x");
my_putnbr(i);
[/mode edition]
bah ca t'affichera ce que tu cherchais.
Je ne suis pas sur d'avoir ete clair mais ben :) 
GL pour le corewar...
10 Décembre 2004 15:53:55

ok jme ferai peu etre %p ce soir, si j'ai le temp.
[It is my life]
Mais c'est l'anniv de aurore demain
je doit aller lui acheter des cadeaux :) 
ralala ca va me fair rentrer tard encor ca en + j'ai du boulot, je pense pas finir avan 18h :s
....
[/It is my life]

ps: tsai c'qu'il te dit le boulet ? ;) 
"utilise ton my_printf plutot que le mien :-P"
10 Décembre 2004 16:12:57

Accusation en public?
Desole mais je me dois de repondre:
Je ne sais pas ou t'es alle chercher que j'utilisais ta fonction mais ca devait etre de la bonne... Donc prouve le! (en mp)
10 Décembre 2004 20:00:08

lol ouai tek1 et toi tek combient sinon c bon jai trouver comment faire merci quand meme.
14 Décembre 2004 13:36:26

tu fais un my_putstr('0x')
puis tu appel ta fonctions :p 
14 Décembre 2004 21:12:10

non cest bon jai trouver il suffit de faire un va_arg(unsigned int) et ca roule
15 Décembre 2004 09:39:22

Ouai, et a la place de getnbr() tu prends atoi(), pour my_strcpy() tu prends strcpy(), et a get_next_line() tu preferes scanf()....
15 Décembre 2004 11:05:14

mais on a pas le droit a ces fonctions ?? on ne dois utiliser que les fonctions qu on a codee nous meme
15 Décembre 2004 18:29:30

ca fait longtemps que jai pas fait de C , et en plus j'ai pas pris la peine de lire tout le post ...
(desolé donc si cette solution a ete deja proposé)
mais transferer ton adresse dans une variable string ca marche pas ???

un truc dans le genre

String adresse=null;
adresse=&variable;
echo adresse;

la syntaxe c surement pas ca je melange un peu tout les langages que je connais la lol
en tout cas , si javais ton probleme , je testerai ca avant de fouiller le manuel de reference....

a part ca , jai pas d'idee simple ....

bon courage
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS