Konsoles aplikācijā nedarbojas garumzīmes

Vieta, kur parunāt par to, kas nav atsevišķi izdalīts augstāk
Post Reply
Message
Author
ElvijsB
Posts: 2
Joined: 05 Mar 2016, 16:12

Konsoles aplikācijā nedarbojas garumzīmes

#1 Post by ElvijsB » 05 Mar 2016, 16:33

Sveiki!
Sākot apgūt C++ un mocot augšā pirmo konsoles spēli(uzmini skaitli) saskāros ar nelielu problēmu.

Pieņemsim man ir rinda:
cout << "Teksts ar garumzīmēm.." << endl;
Kompilējot doto kodu, izmantojot Visual Studio 2015, teksts pārvēršas ķeburos. Pamēģināju to pāšu kodu kompilēt uz Linux(Ubuntu) izmantojot Code::Blocks, garumzīmes strādā.
Cik noprotu, tad tas varētu būt saistīts ar to, kad priekš Win nepieciešams atsevišķi norādīt kodējumu(UTF8)?

Izmantojot stackoverflow palīdzību arī neatradu risinājumu. Varbūt kāds varētu paskaidrot, kā lai izdara, lai garumzīmes arī win versijā konsolē rādītos.

Paldies jau iepriekš.

bubu
Guru
Guru
Posts: 398
Joined: 07 Dec 2010, 11:54

Re: Konsoles aplikācijā nedarbojas garumzīmes

#2 Post by bubu » 06 Mar 2016, 01:33

Unikode un windows konsole ir ļoti piņķerīga padarīšana.
Imho vieglākais ko tu vari izdarīt ir ielikt šādu funkcijas programmas sākumā:

Code: Select all

SetConsoleOutputCP(1257);
Tam vajadzēs windows.h inklūdi.

Pārliecinies arī, ka kods tiek saglabāts Codepage 1257 (File->Advanced Save Options...).

Lai lietotu UTF-8 viss būs vēl piņķerīgāk. Iesaku nelietot unkodes tekstu Windows konsolē. Tas nav tā vērts.
Last edited by bubu on 08 Mar 2016, 21:07, edited 2 times in total.

ElvijsB
Posts: 2
Joined: 05 Mar 2016, 16:12

Re: Konsoles aplikācijā nedarbojas garumzīmes

#3 Post by ElvijsB » 08 Mar 2016, 16:45

Paldies bubu!

Pēc pāris stundām sāku nonākt pie tā paša slēdziena.

User avatar
Arrovs
Posts: 107
Joined: 09 Dec 2010, 18:09
Location: Saldus-Jelgava

Re: Konsoles aplikācijā nedarbojas garumzīmes

#4 Post by Arrovs » 09 Mar 2016, 01:34

C# man nav bijis īstu problēmu ar to. Tikai jānorāda viena rindiņa kodējumam. Tam vajadzētu būt tik pat vienkārši arī jūsu gadījumā.
Arrovs vēl joprojām dzīvs.

Post Reply

Return to “Programmēšana / Programming”