Pliki binarne | znaki diakrytyczne

0

Witam, podczas uruchamiania tej funkcji zamian polskich znaków wyskakują mi dziwne kształty. Sprawdzałem plik *.txt jest z nim wszystko dobrze. W main dodałem
"setlocale( LC_ALL, "" );"
Spoiler Ukryj

<ort>void wyswietl_test() { string zmienna; ifstream plik_odczyt; plik_odczyt.open( "test.txt" ); cout < "Po kazdym wyswietleniu pytania nacisnij dowolny przycisk aby kontynuować." < endl < endl; while( !plik_odczyt.eof() ) { for( int i = 0; i < 4; i++ ) { getline( plik_odczyt, zmienna ); cout < zmienna < endl; } if( plik_odczyt.eof() ) break; getch(); } plik_odczyt.close(); cout < endl < "Naciśnij klawisz aby kontynuować." < endl; getch(); }</ort>

Tekstu z trzeciej linijki też nie wyświetla poprawnie. Czy macie jakieś sugestie albo widzicie błąd;
Oraz mam problem z odczytem(zapisem po trosze też) plików binarnych;

<ort> ... struct Sosoba { char imie[ 15 ]; char nazwisko[ 15 ]; int punkty; float procenty; }; ... void wyswietl_wyniki() { ifstream plik_odczyt( "wyniki1.dat", ios_base::binary | ios_base::in ); string zmienna; Sosoba dane; cout < "Po kazdym wyswietleniu pytania nacisnij dowolny przycisk aby kontynuowac." < endl < endl; for( int i = 1; ; i++ ) { plik_odczyt.read( (char*) &dane, sizeof dane ); cout < i < ". " < dane.imie < " " < dane.nazwisko < " " < dane.punkty < " " < dane.procenty < "%" < endl; if( plik_odczyt.eof() ) break; getch(); } getch(); plik_odczyt.close(); } ... </ort>

W pliku binarnym znajdują się kolejno: imie, nazwisko punkty (np. 0.8) w jednym wierszu. Lecz nie czyta mi tego poprawnie. Wiem, że mogę skorzystać z "getline" i wczytać cały wiersz do zmiennej lecz sądzę, że takiej operacji nie pozwoli mi użyć mój nauczyciel.
Jak widzicie jakiś błąd albo macie jakieś sugestie co może być źle to z góry dziękuje.

1

Pewnie masz różne kodowanie w pliku oraz konsoli.

0

Szczerze mówiąc to jestem kompletnym laikiem w tym, zawsze po prostu odpalałem kompilator (Code Block) i pisałem co trzeba nie zmieniając nic w ustawieniach. Czy mógłbyś pomóc mi z tym problemem?

0

Code::Blocks jest kompilatorem tak bardzo, jak teleskop jest wszechświatem.
Jakie masz kodowanie tego swojego pliku?

0

Kodowanie pliku to UTF-8

0

Ano, i mamy problem.
W konsoli ot tak sobie UTF-8 nie wyświetlisz.

0

Konsola pod Windows nie obsługuje UTF-8.

0

A czy da się ten problem jakoś rozwiązać?

0

Jakie hasła wpisywałeś w Google w celu rozwiązania tego problemu niewyświetlania się znaków UTF-8 w konsoli Windows?
Ponieważ odnoszę coś wrażenie, że na pałę piszesz posty, zamiast samemu poszukać.

0

Zmieniłem kodowanie pliku tekstowego, lecz np "cout << "ć "; " w ten sposób dalej, źle wyświetla

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0