Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Polskie znaki w konsoli

Ostatnio zmodyfikowano 2011-07-25 15:08
Autor Wiadomość
jankowalski25
Temat założony przez niniejszego użytkownika
» 2011-07-25 15:08:33
Co nieco pozmieniałem i program działa. Jednak zrezygnowałem z użycia tej tablicy i uznałem ją za zbędną. Umieszczam kod, może komuś się przyda. Temat można zamknąć.
C/C++
#include <iostream>
#include <fstream>
#include <conio.h>
using namespace std;
int main()
{
    fstream plik;
    string napis;
    unsigned char znak;
    int kod;
    plik.open( "dane.txt", ios::in );
    if( plik.good() )
    {
        cout << "Zawarto";
        kod = 152;
        cout << static_cast < char >( kod );
        kod = 134;
        cout << static_cast < char >( kod );
        cout << " pliku:" << endl;
        while( !plik.eof() )
        {
            getline( plik, napis );
            int b = napis.size();
            for( int a = 0; a < b; a++ )
            {
                znak = napis[ a ];
                kod = static_cast < int >( znak );
                switch( kod )
                {
                case 165: //Ą
                    kod = 164;
                    break;
                case 198: //Ć
                    kod = 143;
                    break;
                case 202: //Ę
                    kod = 168;
                    break;
                case 163: //Ł
                    kod = 157;
                    break;
                case 209: //Ń
                    kod = 227;
                    break;
                case 211: //Ó
                    kod = 224;
                    break;
                case 140: //Ś
                    kod = 151;
                    break;
                case 175: //Ż
                    kod = 189;
                    break;
                case 143: //Ź
                    kod = 141;
                    break;
                case 185: //ą
                    kod = 165;
                    break;
                case 230: //ć
                    kod = 134;
                    break;
                case 234: //ę
                    kod = 169;
                    break;
                case 179: //ł
                    kod = 136;
                    break;
                case 241: //ń
                    kod = 228;
                    break;
                case 243: //ó
                    kod = 162;
                    break;
                case 156: //ś
                    kod = 152;
                    break;
                case 191: //ż
                    kod = 190;
                    break;
                case 159: //ź
                    kod = 171;
                    break;
                }
                znak = static_cast < char >( kod );
                napis[ a ] = znak;
            }
            cout << napis << endl;
        }
        plik.close();
    } else
    {
        cout << "B";
        kod = 136;
        cout << static_cast < char >( kod );
        kod = 165;
        cout << static_cast < char >( kod );
        cout << "d! Nie uda";
        kod = 136;
        cout << static_cast < char >( kod );
        cout << "o si";
        kod = 169;
        cout << static_cast < char >( kod );
        cout << " otworzy";
        kod = 134;
        cout << static_cast < char >( kod );
        cout << " pliku!" << endl;
    }
    getch();
    return( 0 );
}
P-36959
1 2 « 3 »
Poprzednia strona Strona 3 z 3