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.