hugo25 | Bonjour,
J'essaie de faire un programme en c++ avec Visual Studio 6 qui permet de convertir un char * en wchar *.
Voici le code :
Code :
- #include <string>
- #include <iostream>
- void wsubstring(wchar_t *dest, const wchar_t *src, const int from, const int length)
- {
- int i;
- for (i=0; i<length; i++)
- dest[i] = src[i+from];
- dest[i] = '\0';
- }
-
- void charToWchar(char *in, wchar_t *out)
- {
- std::use_facet< std::ctype<wchar_t> >(std::locale()).widen(in,in+strlen(in),out);
- wsubstring(out, out, 0, strlen(in));
- }
- int main(void)
- {
- char in[255] = "coucou ca vas";
- wchar_t out[255];
- charToWchar(in, out);
- std::wcout << out << "\n";
- return 0;
- }
|
Seulement, j'obtient 2 erreurs pour la ligne 13 quand je compile :
Code :
- error C2780: 'const _F &__cdecl std::use_facet(const class std::locale &,const _F *,bool)' : expects 3 arguments - 1 provided
- error C2228: left of '.widen' must have class/struct/union type
|
Je n'arrive pas à trouver la cause de ces erreurs. Merci pour votre aide. Message édité par hugo25 le 29-10-2004 à 15:30:41
|