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

 


Dernière réponse
Sujet : [C++ Builder] AnsiString et char *, etc ...
antp 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 ;)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antp 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 ;)
juju_le_barbare 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 !!!
antp 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), ...
os2 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...
antp 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());
juju_le_barbare et aussi quel est l'intérêt d'utiliser des pointeurs pour des chaines en char ???
juju_le_barbare 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:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)