[C++] question conne de conversion...

question conne de conversion... [C++] - C++ - Programmation

Marsh Posté le 22-05-2002 à 22:30:27    

Voila j'ai un objet dans C++ builder qui prend comme propriete une variable 'char' mais je n'arrive pas a declarer une variable char, a chaque fois il me dis que c une char* ....
 
D'ou ca vient et comment je peux faire?

 

[jfdsdjhfuetppo]--Message édité par antp le 22-05-2002 à 22:55:48--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 22-05-2002 à 22:30:27   

Reply

Marsh Posté le 22-05-2002 à 22:39:37    

C'est quel objet et quel propriété ?
Et tu déclares comment ?


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

Marsh Posté le 22-05-2002 à 22:44:44    

en fait la ligne de code qui pose probleme c ca :
 
DLBRepertoire->Drive=DriveLetter.c_str();
 
 
DLBRepertoire est un objet TDirectoryListBox si tu connais C++Builder et DriveLetter est une chaine de caractere (Ansistring).
 
DriveLetter.c_str() renvoie en fait un char* correspondant à la chaine de caractere Ainsistring, mais la propriété Drive de DLBRepertoire c'est un char, c la qu'est tout mon probleme...
 
 
 
edit : et l'erreur du compilo c donc ca pour infos
[C++ Erreur] Unit1.cpp(16): E2034 Impossible de convertir 'char *' en 'char'

 

[jfdsdjhfuetppo]--Message édité par billyboy78 le 22-05-2002 à 22:47:01--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 22-05-2002 à 22:48:02    

Ben c_str() renvoi un tableau de char.
 
Donc:
 
char temp[1];
temp = DriveLetter.c_str(); (attention au overflow)
DLBRepertoire->Drive = temp[1];
 
 
 
oua, c pas beau ca  :lol:

 

[jfdsdjhfuetppo]--Message édité par i20 le 22-05-2002 à 22:48:15--[/jfdsdjhfuetppo]


---------------
No fucking refound :fou:
Reply

Marsh Posté le 22-05-2002 à 22:51:16    

Ca marchera pas.

Reply

Marsh Posté le 22-05-2002 à 22:51:39    

DLBRepertoire->Drive=DriveLetter[0];
c'est peut-être plus simple :D
(ou [1] je sais plus. En Pascal c'est 1, en C++ c'est 0, mais dans les VCL en C++ je sais plus)


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

Marsh Posté le 22-05-2002 à 22:51:45    

i20 a écrit a écrit :

Ben c_str() renvoi un tableau de char.
 
Donc:
 
char temp[1];
temp = DriveLetter.c_str(); (attention au overflow)
DLBRepertoire->Drive = temp[1];
 
 
 
oua, c pas beau ca  :lol:  
 
 




 
ouais mais j'ai deja teste il me renvoie ca a propos de la seconde ligne
[C++ Erreur] Unit1.cpp(16): E2277 Lvalue nécessaire
 
en fait quand j'ai cette erreur en general je fais un strcpy() entre les 2 variables, mais on se retrouve alors dans le meme cas, puisque strcpy() prends des char*

Reply

Marsh Posté le 22-05-2002 à 22:56:23    

antp a écrit a écrit :

DLBRepertoire->Drive=DriveLetter[0];
c'est peut-être plus simple :D
(ou [1] je sais plus. En Pascal c'est 1, en C++ c'est 0, mais dans les VCL en C++ je sais plus)  




 
Ok merci c cool ca marche, pour infos c bien [1], a mon avis les VCL delphi et c++ sont quasi identiques

Reply

Marsh Posté le 22-05-2002 à 23:11:45    

billyboy78 a écrit a écrit :

 
 
Ok merci c cool ca marche, pour infos c bien [1], a mon avis les VCL delphi et c++ sont quasi identiques  




 
C'est la même  :)


---------------
No fucking refound :fou:
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed