Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #82863
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: Hello World in Russian |
| Date | 2022-01-29 13:01 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <st3abi$f0i$1@dont-email.me> (permalink) |
| References | <i6GdnUGdpJgzJGn8nZ2dnUU7-KnNnZ2d@giganews.com> <st2nkp$qhd$1@dont-email.me> |
On 29/01/2022 07:42, Andrey Tarasevich wrote:
> On 1/28/2022 7:51 PM, Joseph Hesse wrote:
>> In the following program, I have written "hello world", copied from
>> the iternet, in Russian. I don't understand Russian but I understand
>> their alphabet is different from the English alphabet. The program is
>> supposed to output the original message and the characters in the
>> original message. My question is why are they different?
>> Thank you,
>> Joe
>>
>> $ more Hello.cpp
>> #include <iostream>
>> using namespace std;
>>
>> int main()
>> {
>> const wchar_t russian[] = L"Привет мир"; //Russian for "hello, world"
>>
>> wcout << russian << endl;
>>
>> for(const wchar_t &x : russian)
>> wcout << x << L", ";
>> wcout << endl;
>> }
>> $ g++ -std=c++14 Hello.cpp
>> $ ./a.out
>> Privet mir <== original message
>> P, r, i, v, e, t, , m, i, r, , <== wchars in original message
>> $
>
> Um... How did you manage to make your program output `L"Привет мир"` as
>
> Privet mir
>
> ?
>
That is the Latin alphabet transliteration of the Cyrillic letters. As
to why that conversion was done, I expect it is something to do with
locales and internationalisation libraries. It doesn't work for all
non-ASCII characters, which is hardly surprising. A quick test with
Norwegian letters "å", "ø" and "æ" resulted in "?", "?" and "ae".
The simple answer, at least in the *nix world, is to drop "wchar_t"
completely and forget that disaster ever existed.
#include <iostream>
using namespace std;
int main()
{
const char russian[] = "Привет мир"; //Russian for "hello, world"
cout << russian << endl;
for (const char_t &x : russian)
cout << x << L", ";
cout << endl;
}
As long as you have UTF8 locales and fonts (and you'd need an ancient
setup, or a very limited one, not to have them), you'll get the right
output.
What I have learned from all this, is that "мир" ("mir") means "world"
as well as "peace". I find that an interesting linguistic titbit.
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Hello World in Russian Joseph Hesse <joeh@gmail.com> - 2022-01-29 05:51 +0200
Re: Hello World in Russian James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-01-28 23:27 -0500
Re: Hello World in Russian Muttley@dastardlyhq.com - 2022-01-29 10:21 +0000
Re: Hello World in Russian Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-01-28 22:42 -0800
Re: Hello World in Russian David Brown <david.brown@hesbynett.no> - 2022-01-29 13:01 +0100
Re: Hello World in Russian "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-01-29 14:12 +0100
Re: Hello World in Russian David Brown <david.brown@hesbynett.no> - 2022-01-29 17:34 +0100
Re: Hello World in Russian James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-01-30 14:17 -0500
Re: Hello World in Russian Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-01-30 20:17 -0800
Re: Hello World in Russian "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-01-29 11:48 +0100
Re: Hello World in Russian Paavo Helde <eesnimi@osa.pri.ee> - 2022-01-29 17:39 +0200
Re: Hello World in Russian "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-01-30 09:18 +0100
Re: Hello World in Russian Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-01-30 12:12 +0000
Re: Hello World in Russian "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-01-30 14:02 +0100
Re: Hello World in Russian Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-01-30 14:45 +0000
Re: Hello World in Russian "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-01-30 21:53 +0100
Re: Hello World in Russian Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-01-30 21:00 +0000
Re: Hello World in Russian James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-01-30 14:02 -0500
Re: Hello World in Russian Muttley@dastardlyhq.com - 2022-01-31 10:23 +0000
Re: Hello World in Russian scott@slp53.sl.home (Scott Lurndal) - 2022-01-31 16:11 +0000
Re: Hello World in Russian Muttley@dastardlyhq.com - 2022-01-31 16:36 +0000
Re: Hello World in Russian Paavo Helde <eesnimi@osa.pri.ee> - 2022-01-31 20:20 +0200
Re: Hello World in Russian Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-01-31 16:12 +0000
Re: Hello World in Russian Muttley@dastardlyhq.com - 2022-01-31 16:39 +0000
Re: Hello World in Russian Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-01-31 23:47 +0000
Re: Hello World in Russian Manfred <noname@add.invalid> - 2022-01-31 16:45 +0100
Re: Hello World in Russian Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-01-31 10:10 -0800
Re: Hello World in Russian "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2022-01-31 19:25 +0100
Re: Hello World in Russian Marcel Mueller <news.5.maazl@spamgourmet.org> - 2022-01-30 12:09 +0100
Re: Hello World in Russian Paavo Helde <eesnimi@osa.pri.ee> - 2022-01-30 14:26 +0200
Re: Hello World in Russian Richard Damon <Richard@Damon-Family.org> - 2022-01-30 08:59 -0500
Re: Hello World in Russian Paavo Helde <eesnimi@osa.pri.ee> - 2022-01-30 18:21 +0200
Re: Hello World in Russian Richard Damon <Richard@Damon-Family.org> - 2022-01-30 12:56 -0500
Re: Hello World in Russian Vir Campestris <vir.campestris@invalid.invalid> - 2022-02-07 21:05 +0000
csiph-web