Quel est l'équivalent Linux de: MultiByteToWideChar & WideCharToMultiByte?
Je travaille avec une classe qui encapsule le std::wstring, ce code doit être multi-plateforme, il y a des équivalents pour les fonctions de windows: MultiByteToWideChar & WideCharToMultiByte sur linux?
Merci.
N'oubliez pas que sur GNU/Linux, std::wstring est deux fois la taille de std::wstring sur Windows.
Il y a le C99 functios mbtowc et wctomb pour cette
Schaub:
Il y a le C99 functios mbtowc et wctomb pour cette
Schaub:
mbtowc
et wctomb
ont été effectivement ajouté dans Normatif Amendement 1 en 1995.OriginalL'auteur NSA | 2010-07-18
Vous devez vous connecter pour publier un commentaire.
Les équivalents Linux sont les
iconv
fonctionsiconv_open
,iconv
eticonv_close
(direman 3 iconv_open
etc. pour la documentation). Pour des applications multiplate-forme, utilisez dédié bibliothèques comme Soins intensifs à la place. Ces bibliothèques contiennent déjà leur propre chaîne de classes; il n'est pas nécessaire d'envelopper lesstd::wstring
.OriginalL'auteur Philipp
mbtowc
etwctomb
sont les plus directes équivalents, mais notez qu'ils fonctionnent sur le jeu de caractères multioctets correspondant à l'actuelLC_CTYPE
locale (qui peut être changé avecsetlocale()
).OriginalL'auteur caf