Convertir LPTSTR string ou char * pour être écrites dans un fichier
Je veux convertir LPTSTR string ou char * être capable d'écrire dans un fichier à l'aide de ofstream.
Des Idées?
Double - stackoverflow.com/questions/342772/lptstr-to-char
Désolé de ne pas apparaître dans les résultats de recherche
Désolé de ne pas apparaître dans les résultats de recherche
OriginalL'auteur Mohammad Abdelaziz | 2010-07-20
Vous devez vous connecter pour publier un commentaire.
La plupart des solutions présentées dans les autres threads inutilement convertir à l'obsolescence du codage à la place d'un codage Unicode. Utilisez simplement
reinterpret_cast<const char*>
à écrire UTF-16 fichiers, ou de les convertir en UTF-8 à l'aideWideCharToMultiByte
.De s'écarter un peu de la question, à l'aide de
LPTSTR
au lieu deLPWSTR
n'a pas beaucoup de sens de nos jours, depuis l'ancien 9x série de Windows est complètement obsolète et non pris en charge. Utilisez simplementLPWSTR
et de l'accompagnement "de caractères larges" (c'est à dire, de code UTF-16 unité) des types commeWCHAR
ouwchar_t
partout.Voici un exemple qui (je l'espère) écrit en UTF-16 ou UTF-32 (le dernier sur Linux/OS X):
wofstream
va écrire UTF-16. IIRC, le Dinkumware mise en œuvre permettra d'écrire (et de lire, FTM) en UTF-8.Merci beaucoup, Ça a très bien fonctionné 🙂
Oui, j'ai déjà remarqué que sur Linux. C++ flux juste sucer. Pour écrire UTF-16 fiable, vous avez vraiment l'impression d'avoir besoin d'utiliser un
ofstream
pour empêcher la mort cérébrale char de conversion de C++, et utiliserreinterpret_cast
. Si le Dinkumware bibliothèque utilise UTF-8, fine, au moins pas certains complètement fou au choix comme Windows-1252.OriginalL'auteur Philipp
Utilisation T2A macro pour que.
OriginalL'auteur sharptooth
IIUC,
LPTSTTR
peut pointer vers unchar
chaîne ou unwchar_t
chaîne, selon une directive de préprocesseur. Si c'est vrai, alors vous avez besoin de basculer entre lesstd::ofstream
etstd::wofstream
, selon la directive de préprocesseur.Jetez un oeil à cette réponse. Il traite de la commutation entre la console de flux, selon
TCHAR
, mais le dispositif est adapté pour être utilisé avec des flux de fichier.OriginalL'auteur sbi