Do wcout and wcin work with GCC?
Alex J. Dam
alexjotadam@yahoo.com.br
Sun Aug 31 18:28:00 GMT 2003
Hi,
I would like to use C++ as my primary language for computer
programming, but I'm having some problems dealing with
multi-byte strings in g++.
How can I make wcin and wcout work? Whenever I read a string
from the console the string is truncated at the first non-ASCII
character. When I'm writing to wcout, the string is also
truncated.
I've tried imbue(), setlocale(), etc. but it didn't solve my
problem.
My locale is pt_BR.UTF-8, my gcc and g++ are version 3.3.1.
EXAMPLE:
#include <iostream>
#include <string>
#include <locale>
using namespace std;
int main(){
locale l("pt_BR.UTF-8");
setlocale(LC_ALL, "pt_BR.UTF-8");
locale::global(l);
wcout.imbue(l);
wcin.imbue(l);
wstring s;
wcin >> s;
wcout << s.length() << endl;
}
Some output:
$ ./prog
arboris
7
$ ./prog
árvore
0
Any help?
Alex
More information about the Gcc-help
mailing list