#0 

22-10-2006 13:49:42

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

De std::string à stringw :

Code c++ :

irr::core::stringw getStringw(std::string str)
{
  size_t size = str.size();
  wchar_t *text = new wchar_t[size+sizeof(wchar_t)]; //s.size() doesn't include NULL terminator
  const char *data = &str[0];

  mbsrtowcs(text, &data, size, NULL);

  text[size] = L'\0';
  return text;
}


et l'inverse :

Code c++ :

std::string getStringSTL(irr::core::stringw str)
{
  std::string text = stringc(str.c_str()).c_str();
  return text;
}

Hors ligne


#1 

22-10-2006 14:35:27

Dekron
Membre
Lieu: Orléans
Date d'inscription: 21-10-2006
Messages: 46
Site web

aparament c'est quelque chose de tres demandé, c'est sympa d'avoir mis cela ici wink


Visitez Arcis : MMORPG ammateur utilisant irrlicht !
Etudiant ingénieur, maitrise C++, connaissances python & php.

Hors ligne


#2 

30-10-2006 15:54:17

smeagol
Membre
Date d'inscription: 30-10-2006
Messages: 34

Mais je voulais savoir le wchar_t est un format unicode il n'y a pas des problème lors de la convertion car l'unicode a plus de caractère que ASCII

Hors ligne


#3 

30-10-2006 20:39:32

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
Site web

Je n'ai pas rencontré de problèmes avec la première fonction. Au contraire elle me permettait d'avoir tous les caractères (y compris les accentués).

Pour la seconde j'avoue ne l'avoir testé que sur des noms de fichiers, donc sans caractères spéciaux, si quelqu'un rencontre un problème avec ça qu'il me le fasse savoir.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
89 invités en ligne
Aucun membre connecté
RSS Feed