Bonjour,

j'ai une méthode, qui prend en paramètre une variable path, de type CString.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
int maClasse::maMethode(CString path)
{...}
L'une des premières instructions est de convertir ce CString en char*.

J'ai donc, pour cela, utilisé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
char* filePath = (char*)path.GetBuffer(path.GetLength());
path.ReleaseBuffer();
Si je ne mets pas le (char*) devant path.getBuffer, j'ai une erreur de compil du genre
error C2440: 'initializing' : cannot convert from 'wchar_t *' to 'char *'
Et le problème est que filePath, lechar* ainsi récupéré ne contient QUE le premier caractère de path. Par exemple, si path="C:\blabla\blabla\toto.xml" alors filePath="C".

Des idées sur la raison de ce bug et sur la façon de le résoudre ?

Merci.