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

  FORUM HardWare.fr
  Programmation
  C

  [C] Lire et afficher un pointeur générique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Lire et afficher un pointeur générique

n°918739
miniserveu​r
Dual Screen
Posté le 09-12-2004 à 13:26:45  profilanswer
 

Je cherche à lire et à afficher un pointeur générique ,  
et ensuite lui passer d'autres types.
 
exemple :
 
void *var;
 
scanf("%???",&var);
printf("%???",var);
 
Pour le printf je pense que c'est %p.
Mais pour le scanf ?


Message édité par miniserveur le 09-12-2004 à 14:00:10

---------------
www.sagis.tk
mood
Publicité
Posté le 09-12-2004 à 13:26:45  profilanswer
 

n°918741
chrisbk
-
Posté le 09-12-2004 à 13:31:17  profilanswer
 

tu veux demander a l'utilisteur d'entrer une addresse ? [:mlc]

n°918744
Emmanuel D​elahaye
C is a sharp tool
Posté le 09-12-2004 à 13:34:28  profilanswer
 

miniserveur a écrit :

Je cherche à lire et à afficher un pointeur générique ,  
et ensuite lui passer d'autres types.
 
exemple :
 
void *var;
 
scanf("%???",&var);
printf("%???",var);
 
Pour le printf je pense que c'est %p.
Mais pour le scanf ?


La norme dit que c'est aussi "%p", mais la chaine à entrer doit être au même format que celle sortie par printf() avec "%p". Ca dépend de l'implémentation. Elle dit aussi qu'il vaut mieux savoir ce qu'on fait...

Citation :


Committee Draft — January 18, 1999 WG14/N869
7.19.6.2 The fscanf function
<...>
p Matches an implementation-defined set of sequences, which should be the
same as the set of sequences that may be produced by the %p conversion of
the fprintf function. The corresponding argument shall be a pointer to a
pointer to void. The input item is converted to a pointer value in an
implementation-defined manner. If the input item is a value converted earlier
during the same program execution, the pointer that results shall compare
equal to that value; otherwise the behavior of the %p conversion is undefined.


Message édité par Emmanuel Delahaye le 09-12-2004 à 13:39:55

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°918758
miniserveu​r
Dual Screen
Posté le 09-12-2004 à 13:50:58  profilanswer
 

D'accord j'ai déjà essayé, quand on passe un entier ça marche , mais un autre type ça ne marche plus.
 
void *var;  
 
printf("Saisir une donnée de n'importe quel type :" );  
scanf("%???",&var);  
printf("%???",var);


---------------
www.sagis.tk
n°918958
Emmanuel D​elahaye
C is a sharp tool
Posté le 09-12-2004 à 16:51:33  profilanswer
 

miniserveur a écrit :

D'accord j'ai déjà essayé, quand on passe un entier ça marche , mais un autre type ça ne marche plus.
 
void *var;  
 
printf("Saisir une donnée de n'importe quel type :" );  
scanf("%???",&var);  
printf("%???",var);


Comme précisé dans la norme, il faut passer une adresse et rien d'autre. Elle doit être au bon format, et elle doit être valide. L'intérêt de la manip est limité.
 
Que cherches-tu à faire exactement ?


Message édité par Emmanuel Delahaye le 09-12-2004 à 17:37:43

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°918978
goldorak69
Posté le 09-12-2004 à 17:14:41  profilanswer
 

Tu es dans quel groupe de TP miniserveur?

n°919665
miniserveu​r
Dual Screen
Posté le 10-12-2004 à 14:31:46  profilanswer
 

Rentrer une valeur du type Hexadecimal, par exemple.
C'est pour un test, c'est bon maintenant.


---------------
www.sagis.tk
n°919763
Emmanuel D​elahaye
C is a sharp tool
Posté le 10-12-2004 à 15:54:45  profilanswer
 

miniserveur a écrit :

Rentrer une valeur du type Hexadecimal, par exemple.


Code :
  1. unsigned long n;
  2.    char s[32];
  3.    fgets(s, sizeof s, stdin);
  4.    n = strtoul(s, NULL, 16);


Message édité par Emmanuel Delahaye le 10-12-2004 à 15:55:07

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

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

  [C] Lire et afficher un pointeur générique

 

Sujets relatifs
afficher les printf avec dvcpp???Php/mysql Afficher ID
afficher des accents...?Afficher à partir d'un userform une feuille excel
lire et écrire dans un fichier [résolu][C++] Pointeur sur constructeur ou Pointeur sur Classe ?
Afficher le texte en couleurLire l'entête d'une table
Lire dans un fichier texteLire un fichier ligne par ligne.
Plus de sujets relatifs à : [C] Lire et afficher un pointeur générique


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