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

 


Dernière réponse
Sujet : [C++ Builder] Api NetMessageBufferSend et type wchar_t ...
antp

youdontcare a écrit a écrit :

sous vc++ (au moins), de la même manière que tu peux faire
 
char* str = "hello"
 
tu peux faire pour l'unicode :
 
LPCWSTR str = L"hello";  




 
bhen sous C++Builder aussi il me semble :heink:


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

youdontcare a écrit a écrit :

sous vc++ (au moins), de la même manière que tu peux faire
 
char* str = "hello"
 
tu peux faire pour l'unicode :
 
LPCWSTR str = L"hello";  




 
bhen sous C++Builder aussi il me semble :heink:

juju_le_barbare

youdontcare a écrit a écrit :

sous vc++ (au moins), de la même manière que tu peux faire
 
char* str = "hello"
 
tu peux faire pour l'unicode :
 
LPCWSTR str = L"hello";  




 
youdontcare >> oui mais bon je suis pas sous VC++, et pôôô  
envie :-(
antp >> en wchar_t, je suis obligé (enfin, je crois) d'initialiser cara par cara. puis bon c'est pas le pb !!!
 
SVP !!!

youdontcare sous vc++ (au moins), de la même manière que tu peux faire
 
char* str = "hello"
 
tu peux faire pour l'unicode :
 
LPCWSTR str = L"hello";
antp pourquoi tu te fatigues a mettre les chaines caractère par caractère, c'est quand même plus pratique entre " "...
juju_le_barbare

antsite a écrit a écrit :

Peut être qu'un cast résouderait le problème. Mais je suis sur de rien !  




 
Salut,
 
Non je n'ai pas casté, il suffisait de faire :
 
wchar_t dest[] = {'o', 'r', 'd', 'i', '\0'};
wchar_t expe[] = {'J', 'U', 'J', 'U', '\0'};
 
____________
 
 
Par contre pour l'avant dernier paramètre, il demande un :
Pointer to a buffer of message text.
 
KeZeKsA ??? C'est koi un buffer (je sais très précisément)
Merci de votre aide
 
Si je fais :
char * msg = "salut";
NetMessageBufferSend(NULL, dest, expe, msg, sizeof(msg));
 
C'est pas bon :cry: :cry: :cry: :cry: ça renvoie des "??"

antsite Peut être qu'un cast résouderait le problème. Mais je suis sur de rien !
juju_le_barbare

antp a écrit a écrit :

bhen je connais pas la fonction
mais le message d'erreur est clair : il veut une chaine de char et tu lui balance un tableau de wchar :/  




 
Mais quand je lui balance des char *, il me reclame des w_char !!!!!!!!!

antp bhen je connais pas la fonction
mais le message d'erreur est clair : il veut une chaine de char et tu lui balance un tableau de wchar :/
juju_le_barbare

antp a écrit a écrit :

wchar c'est pour l'unicode, 16bits par caractères
char c'est 8bits
 
et :
b[] = {'s', 'a', 'l', 'u', 't'};
c'est pas une chaîne hein !



 
Oui je sais bien que c'est pas une chaîne ;-)
Pour l'API, pas de réponse ?

antp wchar c'est pour l'unicode, 16bits par caractères
char c'est 8bits
 
et :
b[] = {'s', 'a', 'l', 'u', 't'};
c'est pas une chaîne hein ! c'est juste un tableau de caractères. Pour avoir une chaine valide faut faire
b[] = {'s', 'a', 'l', 'u', 't', 0};
ou plus simplement
b[] = "salut";
mais ca je sais pas si ca passe avec le wchar

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]

juju_le_barbare Bonjour,
 
Déjà qu'est-ce exactement que le type wchar_t par rapport à char...
 
Ensuite pour déclarer une chaîne en wchar_t, je tape :  
 
wchar_t a[] = {'6', '1'}, b[] = {'s', 'a', 'l', 'u', 't'};
 
Puis je veux utiliser l'API du titre de ce topic :
 
je fais #include <lm.h> //déjà dans l'aide de NetMessageBufferSend, ils disaient lmmsg.h, ça marchait pas, j'ai du voir MSDN sur le net ...
 
ensuite :  
 
NetMessageBufferSend(NULL, a, NULL, b, sizeof(b));
 
mais le compilo break et dit :
 
Cannot convert 'wchar_t *' to 'unsigned char *'
puis
Type mismatch in parameter 'buf' (wanted 'unsigned char *', got 'wchar_t *')
 
 
Merci de votre aide :cry: :hello:

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