C++ utf8

poruka: 8
|
čitano: 841
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
C++ utf8

Kako preuzeti string (UTF8 formatu) i pohraniti ga u txt fajl? Radi se o konzolnoj aplikaciji.

Kod za pohranu u txt fajl
ofstream myfile;

if(kat == "2"){

ofstream myfile("D:\\test.txt", ios::app); myfile.seekp(0); myfile;
myfile.close();
}

 

Preuzimanje stringa je

string a;

getline(cin, a); ili samo cin>>a; za jednu riječ (trebaju mi oba!).

Ali nikako da preuzme UTF8 karaktere od korisnika. 

Poruka je uređivana zadnji put sri 20.8.2014 23:30 (cristaln).
 
0 0 hvala 0
17 godina
neaktivan
offline
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: C++ utf8

Našao sam ranije taj člank, ali nije mi moglo da proradi :/

Poruka je uređivana zadnji put čet 21.8.2014 12:18 (cristaln).
14 godina
neaktivan
offline
Re: C++ utf8

Jedinostavno koristi wstring. Njega možeš kombinirati s wcin, wcout itd. Ili probaj s wchart_t ako ti je draži taj pristup.

13 godina
neaktivan
offline
Re: C++ utf8
TracerCPP kaže...

Jedinostavno koristi wstring. Njega možeš kombinirati s wcin, wcout itd. Ili probaj s wchart_t ako ti je draži taj pristup.

 

Nije naveo OS.

 

Pod uvjetom da neće portati kod na neku drugu platformu, na Windowsima ili OSX može se izvući na taj način.

 

Na svemu ostalom nema garancije, ako će koristiti bilo što šire od 1 byte-a (npr. znak za euro).

 

Na POSIX kompatibilnim sustavima (Linux, Unix) mogao bi to odraditi tako da na početku programa koristi setlocale() i postavi na UTF-8

14 godina
neaktivan
offline
Re: C++ utf8

Ako treba podrška za druge platforme može se koristiti ICU biblioteka.

16 godina
neaktivan
offline
Re: C++ utf8

Za sada mi treba samo za windows.

 


Pokušao sam najjednostavnije, u mainu napisati ovo:

 

  wstring mywstring = L"ČĆĐŽ";

 

  std::wcout << mywstring << std::endl; 

 

Kada pokrenem program, ne ispisuje ništa, ali ne javlja ni error. Pokušao sam razve varijante, za sada samo da ispiše ponovo u konzolu (a ne u txt fajl) ali šta god da pobam ništa mi ne radi.

17 godina
neaktivan
offline
C++ utf8

#include "stdafx.h"
#include <string>
#include <iostream>
#include <fcntl.h>
#include <io.h>

int _tmain(int argc, _TCHAR* argv[])
{
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wstring mywstring = L"ČĆĐŽ";
    std::wcout << mywstring << std::endl;

    return 0;
}

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice