Bonjour
J'ai un souci de conversion d'un TCHAR * vers un char *
J'ai un peu abandonné C++ au profit de C# depuis quelques années et je me perds un peu dans certaines conversions de type
Mon application doit utiliser un des agument passé a l'appel de l'exe
Ces arguments sont des TCHAR *
Mais la fonction WriteFile (qui écrit sur mon port com) attends un char *
J'avais cru qu'un simple cast suffirait, mais je réalise que comme le TCHAR * est vraissemblablement un tableau de WORD, le byte de poids fort de mon primer WORD est interpreté comme le null terminator du string
Résultat mon cast me rends seulement le premier caractére du TCHAR *
Comment puis-je résoudre cela en C ?
Existe-il des fonction de conversion ou bien faut il le faire a la main dans une boucle de parcours du TCHAR * ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int _tmain(int argc, _TCHAR* argv[]) { LPCTSTR portname = L"COM5:"; int len=0; DWORD result=0; char *buffer; DWORD dw; buffer=(char *)argv[1]; len=strlen(buffer); WriteFile(hComm, buffer, len, &result, NULL);
Merci de votre aide
Partager