Comment puis-je lire un fichier Unicode (UTF-8) en wstring
(s) sur la plate-forme Windows ?
Réponse
Trop de publicités?
dlchambers
Points
882
C'est un peu brut, mais pourquoi ne pas lire le fichier en tant que simples octets et convertir le tampon d'octets en wchar_t* ?
Quelque chose comme :
#include <iostream>
#include <fstream>
std::wstring ReadFileIntoWstring(const std::wstring& filepath)
{
std::wstring wstr;
std::ifstream file (filepath.c_str(), std::ios::in|std::ios::binary|std::ios::ate);
size_t size = (size_t)file.tellg();
file.seekg (0, std::ios::beg);
char* buffer = new char [size];
file.read (buffer, size);
wstr = (wchar_t*)buffer;
file.close();
delete[] buffer;
return wstr;
}
- Réponses précédentes
- Plus de réponses