Salut tout le monde,
C'est certainement une questions simple pour la plupart d'entre vous, mais je bloque...
Je dois convertir un char en wchar_t... dans la fonction "main" de mon programme, j'ai réussi à le faire grâce à MSDN:
Jusque là... OK...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 char* orig = "Hello, World!"; // Convert to a wchar_t* size_t origsize = strlen(orig) + 1; const size_t newsize = 100; size_t convertedChars = 0; wchar_t wcstring[newsize]; mbstowcs_s(&convertedChars, wcstring, origsize, orig, _TRUNCATE); wcout << wcstring << endl;
maintenant j'aimerais créer une fonction "convert" qui utilise ce code, en prenant la variable char* en paramètre pour retourner le wchar_t
La raison pour laquelle je veux faire ceci étant simple: je dois convertir à de maintes reprises dans le programme. (projet d'intégration oblige)...
J'ai essayé ceci mais sans succès. Pas de compilation error mais il me retourne toujours "52428" comme valeur pour la variable wchar_t...
Quelqu'un sait pourquoi?? ce doit être une bêtise vu que ça fonctionne quand je fais ça manuellement dans le "main"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 wchar_t convert(char* orig) { size_t origsize = strlen(orig) + 1; const size_t newsize = 100; size_t convertedChars = 0; wchar_t wcstring[newsize]; mbstowcs_s(&convertedChars, wcstring, origsize, orig, _TRUNCATE); return wcstring[newsize]; //wcout << wcstring << endl; } int main(int argc, char *args[]) { char* orig = "Hello, World!"; wchar_t wcstring = convert(orig); cout << orig << " --> AS A CHAR..." << endl; cout << wcstring << " --> AS A WCHAR_T..."; }
thanks for ur help
Olivier
Partager