|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hello all,
I needed to read contents of an UTF8 encoded file in C++ (gcc version 3.3.5 on Linux). I decided to do it the C++ way, using streams: ------------- std::locale utf8loc("en_US.utf8"); std::wifstream ifs("smthg"); ifs.imbue(utf8loc); std::wstring item; while (ifs >> item) { here } ------------ but the inner block ("here") never gets executed. I tried searching around the web and my head spins, surely doing such mundane, straightforward task cannot be that complicated in C++? What am I doing wrong please? What should I test for, look out for? Cheers. To narrow down my problem: * I don't want to use any non-standard functions, libraries etc. * the input file is in UTF8, I want to read (parts of) its contents as wstring --------------- $ locale -a C POSIX en_GB.utf8 en_US.utf8 |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
On Feb 5, 7:53 am, koara <ko...@atlas.cz> wrote:
> Hello all, > > I needed to read contents of an UTF8 encoded file in C++ (gcc version > 3.3.5 on Linux). I decided to do it the C++ way, using streams: > > ------------- > std::locale utf8loc("en_US.utf8"); > std::wifstream ifs("smthg"); > ifs.imbue(utf8loc); > std::wstring item; > > while (ifs >> item) { > here > } > > ------------ > > but the inner block ("here") never gets executed. I tried searching > around the web and my head spins, surely doing such mundane, > straightforward task cannot be that complicated in C++? What am I > doing wrong please? What should I test for, look out for? > > Cheers. > > To narrow down my problem: > * I don't want to use any non-standard functions, libraries etc. > * the input file is in UTF8, I want to read (parts of) its contents as > wstring > > --------------- > $ locale -a > C > POSIX > en_GB.utf8 > en_US.utf8 Mayhaps the file "smthg" does not contain text that is convertable to a wstring? or no text at all? What's in the file? Also did you ever check if it actually got opened? Is it in the proper directory? |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On Feb 5, 5:15 pm, Christopher <cp...@austin.rr.com> wrote:
> Mayhaps the file "smthg" does not contain text that is convertable to > a wstring? No. It contains text convertible to wstring. > What's in the file? Also did you ever check if it actually got opened? Yes I did, problem is not in file opening. File contains text with national characters (cz, de). Cheers. |
|
![]() |
| Outils de la discussion | |
|
|