In a Linux environment, I have a piece of code for reading unicode files, similar as shown below.
However, special characters (like danish letters ?, ? and ?) are not handled correctly. For the line 'abc???abc' then output is simply 'abc'. Using a debugger I can see that the contents of wline
is also only a00b00c00
.
#include <fstream>
#include <string>
std::wifstream wif("myfile.txt");
if (wif.is_open())
{
//set proper position compared to byteorder
wif.seekg(2, std::ios::beg);
std::wstring wline;
while (wif.good())
{
std::getline(wif, wline);
if (!wif.eof())
{
std::wstring convert;
for (auto c : wline)
{
if (c != '')
convert += c;
}
}
}
}
wif.close();
Can anyone tell me how I get it to read the whole line?
Thanks and regards
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…