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

  FORUM HardWare.fr
  Programmation

  [C++ Builder] AnsiString et char *, etc ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++ Builder] AnsiString et char *, etc ...

n°104226
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 24-02-2002 à 17:32:45  profilanswer
 

Hello, j'aimerais une mise au point concernant le type chaine de caractère en C++, et particulièrement le AnsiString, fait-il partie du C++, ou bien non ?
 
Et comment utiliser le char, j'y arrive en fait, mais sans comprendre, et j'aime pas utiliser quelque chose sans comprendre.
 
Quell est la différence entre :
 
char a[255];
strcpy(a, "salut" );
 
et
 
char *a = "salut";
 
Comment ça se fait que cette déclaration marche, le pointeur vers a (*a) n'est pas une chaîne de cara !!!
 
 
J'utilise sans comprendre, et ça m'énerve... :cry:  :cry:  :cry:  :cry:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
mood
Publicité
Posté le 24-02-2002 à 17:32:45  profilanswer
 

n°104239
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 24-02-2002 à 17:50:59  profilanswer
 

et aussi quel est l'intérêt d'utiliser des pointeurs pour des chaines en char ???


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°104261
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2002 à 19:42:52  profilanswer
 

la sol2 cree un tableau de 6 cases, soit 5 caractères + un '\0'
 
pour les AnsiString, je crois que c'est un truc propre à Borland, pour donner un équivalent des long string du Pascal (Delphi).
c'est un peu dans le même genre que la classe string de la STL, moins portable mais plus pratique à utiliser (je trouve)
pour avoir une chaine char* a partir d'une AnsiString il faut appeler la méthode c_str() de la classe AnsiString
 
AnsiString a;
char b[255];
 
a = "Salut";
strcpy(b, a.c_str());


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°104287
os2
Posté le 24-02-2002 à 21:21:10  profilanswer
 

l'intéret des pointeurs est qu'il utilise seulement la mémoire nécessaire pour ta chaine, de plus tu pourras changer le contenu de ta chaine sans te préoccuper de la mémoire, si je me souviens bien...


---------------
Borland rulez: http://pages.infinit.net/borland
n°104323
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2002 à 23:40:02  profilanswer
 

heu si dans  
 
char * ="salut";
 
tu mets une plus grande chaine que salut tu écrase la memoire qui suit, sans savoir à quoi elle appartenait.
 
Pour des chaînes donc l'occupation mémoire change automatiquement lors de leur assignation en C/C++ faut utiliser une classe, genre AnsiString, CString, string (STL), ...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°104575
juju_le_ba​rbare
Vous fiez pas aux apparences !
Posté le 25-02-2002 à 16:19:04  profilanswer
 

thx to all !!!
 
Le AnsiString ne fait donc pas partie du C++. J'zi l'intention de programmer (plus tard) sous nunux, je dois donc essayer de l'éviter le plus possible !!!.
Pour la conversion (a.c_str());, je connaissais déjà, thx, mais je trouve pas ça propre, mais je suis bien obligé.
 
Pour récupérer le contenu d'un Edit (Edit1->Text), je suis obligé de le faire dans du AnsiString, ou bien dans un pointeur (char *a) ? (désolé j'ai pas C++ Builder sous la main pour essayer ...)
 
 
os2, ton site maintenant, c'est www.borlandrulez.fr.fm !!!


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
n°104592
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-02-2002 à 16:39:32  profilanswer
 

AnsiString a;
char b[1024];
 
a = Edit1->Text;
strcpy(b, Edit1->Text.c_str());
 
 
avec C++Builder sous Linux qui va venir ça sera plus pratique à porter ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

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

  [C++ Builder] AnsiString et char *, etc ...

 

Sujets relatifs
[C++] builder 5 et Xml?!?[C++ Builder] Comment gérer les fichiers Access ?
[C++ Builder] ou [Delphi} Composant NMEcho[C++ Builder 5] Conversion TStrings -> AnsiString
[C++ Builder] Accéder à une autre Form[C] C++ Builder ...
[C++ Builder 5] Comprends plus rien !!!builder - delphi
C++ builder 
Plus de sujets relatifs à : [C++ Builder] AnsiString et char *, etc ...


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