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

  FORUM HardWare.fr
  Programmation
  C++

  [DEBUTANT]Problème avec const char

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DEBUTANT]Problème avec const char

n°658387
juanetfann​y
Posté le 28-02-2004 à 12:08:08  profilanswer
 

Comment définir correctement une constante contenant un texte ? Par exemple :
 

Code :
  1. const char VERSION[3] = "0.1";


 
ne fonctionne pas et  
 

Code :
  1. const char VERSION = '0.1';


 
ne m'affiche que le chiffre 1 à chaque fois que j'utilise la constante VERSION dans mon source.
 
Qu'est ce que je fais mal ???
 
Merci de votre aide,
JM

mood
Publicité
Posté le 28-02-2004 à 12:08:08  profilanswer
 

n°658400
verdoux
And I'm still waiting
Posté le 28-02-2004 à 12:19:14  profilanswer
 

Code :
  1. const char* const VERSION = "0.1";


ou

Code :
  1. const std::string VERSION("0.1" );


Message édité par verdoux le 28-02-2004 à 12:21:00
n°658415
juanetfann​y
Posté le 28-02-2004 à 12:37:42  profilanswer
 

Merci beaucoup !
A+,
jm

n°658428
juanetfann​y
Posté le 28-02-2004 à 12:44:13  profilanswer
 

Dans ton premier exemple, pourquoi ne peut pas t-on écrire :
 

Code :
  1. cont char *version = "0.1";


 
puisque la logique voudrait que l'on définisse version comme un pointeur de type char, non ? Comment peut s'interpréter "en français" la syntaxe que tu m'as indiqué, à savoir :
 

Code :
  1. const char *const VERSION = "0.1";


 
??
Merci beaucoup d'avance de ces précisions,
JM

n°658438
Beegee
Posté le 28-02-2004 à 12:49:27  profilanswer
 

const char* const : définit un pointeur constant sur une chaîne de caractères constante aussi ...
 
si tu met juste const char*, tu définis un pointeur (non constant) sur une chaîne de caractères constante, car le const viens après ce sur quoi il porte, sauf pour les types communs, pour lesquels il peut aussi être placé avant.
 
Corrigez-moi si je me trompe ;)

n°658451
Taz
bisounours-codeur
Posté le 28-02-2004 à 13:16:05  profilanswer
 

NB : sur la politique de Linux (le noyau)
 
const char * const str ou const char str[] ?
 
Linux préfère la deuxième forme : en effet
- solution 1 : 1 pointeur plus une chaîne en mémoire en lecture seule, mémoire qui ne sera libéré qu'à la fin du programme (ici le noyau, et l'uptime ça peut durer)
- juste la chaîne, l'initialisation est faite dynamiquement, des que la portée dans laquelle le tableau est défini, tout disparait
 
évidemment, tout ça n'est que la politique de Linux, mais réfléchissez-y. Mais pour tout le monde, le pointeur ou la string va très bien

n°658453
FMulder
Posté le 28-02-2004 à 13:24:11  profilanswer
 

pas bete, jusque la je faisait aucune distinction mais c vrai, tu veux dire que quand on sortdu bloc actuel, on perd le pointeur mais ce qui est au bout reste seul dans la foret hostile de la memoire ? le pauvre... :(


---------------
Plus tu pedales moins vite Moins tu avances plus vite

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

  [DEBUTANT]Problème avec const char

 

Sujets relatifs
Chu un naabz , besoin de cours DEBUTANTpetit probleme epineux d'authentification automatique
Probleme de menuprobleme avec bmp_io
Probleme de requete UPDATE[CSS] problème de positionnement 'dynamique'
Problème d'espace pile avec l'utilisation de RunSqlProblème pour compiler (erreur)
probleme bizarre[PHP]Problème avec les Sessions (débutant)
Plus de sujets relatifs à : [DEBUTANT]Problème avec const char


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