Convertir un float en WChar

Kaneda Shotaro Messages postés 48 Date d'inscription dimanche 14 août 2005 Statut Membre Dernière intervention 12 septembre 2009 - 20 août 2005 à 00:24
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 20 août 2005 à 09:46
Bonjour, je suis nouveau ici.

Je programmais en Delphi mais je viens de reçevoir Visual Studio 2005
Beta et je me demandais comment convertir un nombre flottant en WChar ?

Merci d'avance.

@+, Kaneda Shotaro

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2005 à 00:59
swprintf() le plus pratique.

ciao...
BruNews, MVP VC++
0
Kaneda Shotaro Messages postés 48 Date d'inscription dimanche 14 août 2005 Statut Membre Dernière intervention 12 septembre 2009
20 août 2005 à 07:48
J'ai essayé comme ça :

WCHAR * MyStr;

swprintf(MyStr, "Mon chiffre : %f", 1.0f);



Mais ça ne fonctionne pas. Où est l'erreur ? Merci pour avoir répondu si vite.

@+, Kaneda Shotaro
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2005 à 08:13
Manquent les bases du C, pointeur MyStr ne pointe nulle part !!!

WCHAR MyStr[24];
swprintf(MyStr, "Mon chiffre : %f", 1.0f);

ciao...
BruNews, MVP VC++
0
Kaneda Shotaro Messages postés 48 Date d'inscription dimanche 14 août 2005 Statut Membre Dernière intervention 12 septembre 2009
20 août 2005 à 09:04
WCHAR MyStr[24];

swprintf(MyStr, "Mon chiffre : %f", 1.0f);



Maintenant j'ai ces messages :

1>c:\documents and settings\kaneda shotaro\mes documents\visual
studio projects\emptyproject\emptyproject.cpp(128) : warning C4995:
'swprintf': name was marked as #pragma deprecated

1>c:\documents and settings\kaneda shotaro\mes documents\visual
studio projects\emptyproject\emptyproject.cpp(128) : error C2665:
'swprintf' : none of the 2 overloads could convert all the argument
types

1> d:\logiciels\microsoft
visual studio 8\vc\include\swprintf.inl(38): could be 'int
swprintf(wchar_t *,size_t,const wchar_t *,...)'

1> d:\logiciels\microsoft
visual studio 8\vc\include\swprintf.inl(81): or 'int swprintf(wchar_t
*,const wchar_t *,...)'

1> while trying to match the argument list '(WCHAR [24], const char [17], float)'



J'ai essayé avec swprintf_s :

swprintf_s(MyStr, 24, "Mon chiffre : %f", 1.0f);



1>c:\documents and settings\kaneda shotaro\mes documents\visual
studio projects\emptyproject\emptyproject.cpp(128) : error C2665:
'swprintf_s' : none of the 2 overloads could convert all the argument
types

1> d:\logiciels\microsoft
visual studio 8\vc\include\wchar.h(683): could be 'int
swprintf_s<24>(wchar_t (&)[24],const wchar_t *,...)'

1> d:\logiciels\microsoft
visual studio 8\vc\include\wchar.h(682): or 'int swprintf_s(wchar_t
*,size_t,const wchar_t *,...)'

1> while trying to match
the argument list '(WCHAR [24], int, const char [17], float)'



Je ne vois vraiment pas où est le problème...


@+, Kaneda Shotaro
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2005 à 09:19
Si tu bosses unicode, faut être cohérent, tout doit être unicode:

WCHAR MyStr[24];


swprintf(MyStr, L"Mon chiffre : %f", 1.0f);


MessageBoxW(0, MyStr, L"A", 0);

ciao...
BruNews, MVP VC++
0
yphelizo Messages postés 10 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 26 février 2006
20 août 2005 à 09:21
Ma réponse peut ne pas etre correcte. Pourquoi ne pas utiliser plutot :
#include <char.h>
...
char texte[50];
...
wsprintf( texte, "Mon chiffre : %f ", 1.0f );
...
Je pense que les messages d'erreurs semblent indiqués que le fichier inclu n'est pas pas le bon (pas la bonne définition). Ou alors le type WCHAR n'est pas compatible avec wchar_t.
J'espere que ca aurait pu t'aider :D
_____________________
plus un ordinateur est puissant, plus il plante rapidement...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 août 2005 à 09:46
exact que y a rien de bon:
wchar_t ou WCHAR c'est kif kif.
wsprintf ne convertit pas de flottants.
<char.h> ne s'inclut jamais sur VS, <windows.h> suffit et <stdio.h> pour sprintf et assimilés.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous