wifstream Stream("extensions.txt");
while(!Stream.eof())
{
wstring String;
getline(Stream,String);
wcout << String <<endl;
}
How can I achieve this task?
I think wifstream just reads byte after byte and then converts each single byte into a wchar_t.
wifstream
What's the best way to read in unicode text files?
I tried to use the wifstream class, but I did not work correctly.
I create a unicode text file using notepad, then I loaded it into the MSVC Hexeditor. This looks like this:
And that's the way I try to load it:
I believe the issue is with the codecvt used within the wstream classes for reading text in. Unfortunately, wstreams aren't required to read in 2 byte characters at a time and convert them to a single wide character as you are expecting. This makes them completely useless, at least for me. I believe the rationale is that they didn't want to require a certain byte representation to be used. I would just use binary file I/O to achieve the same thing.
Chalk this up as yet another reason I dislike the standard stream library.
Chalk this up as yet another reason I dislike the standard stream library.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement