Très très bizare...
Je chercais à faire la même chose que toi, et en utilisant un code similaire à celui de ton premier post, j'obtenais les même résultat que toi (à savoir des caractères espacés et la seulement la moitié de la taille de la chaine souhaitées).
Ta deuxième méthode ne m'enchantant pas plus que ça (lol), je me suis orienté sur une éventuelle modification du jeu de caractère (de l'UNICODE à l'MBCS et inversement). J'ai donc modifier mon code de manière à convertir les fonctions utilisées en MBCS, celle de l'unicode ne marchant plus.
Ex : UNICODE -> GetWindowTextW
MBCS -> GetWindowTextA
Je me suis alors rendu compte que le compilateur acceptait la fonction GetWindowText qui doit s'adapter directement je pense au jeu de caractère sélectionné.
J'ai donc réessayer de compiler mon code une dernière fois en UNICODE afin d'effectuer un dernière essai et abandonner définitivement le fait d'écrire dans un fichier texte avec une appli MFC, et là magie... le texte du fichier était entier et non espacé.
J'ai du coups réalisé des modifications à mon code pour valider cette découverte, de manière à être sur que ce ne soit pas un bug de ma machine, mais les résultats sont toujours bon.
Peut être que ce post de ma part ne servira pas à grand chose, mais ce qui tomberont dessus pourront toujours essayé de creuser un plus le sujet dans cette direction.
Partager