[c++] wczytywanie polskich znaków

0

hello!!

Natrafiłem na pewnie problem podczas pisania programu, mianowcie nie wiem jak wpiasać do chara (a konkretnie wpisac do tablicy charów z pilku) polskie znaki. postaram sie to zilustrować na przykładzie:

#include <iostream>

main(){
     char znak = 'ą' ;
     cout << a << endl ;
return 0 ;
}

i po uruchomieniu tego programu na ekranie pojawi się dziwny znaczek
ale gdy napisze

#include <iostream>

main(){
     char znak ;
     cin >> znak ;
     cout << znak << endl ;
return 0 ;
}

to po uruchomieniu tego programu i wpisaniu np. literki ł na ekranie pojawi się ł.
Myślałem na fukcja któtra bedzie sprawdzała czy wczytywaną literą jest np. ą i przesuniecie jej o pewną wartość (która bedzie inna dla każdej polskiej litery). Czy w związku z tym jest może jakiś prostszy sposób na zrealizowanie tego zadania??

0

Kody liter muszą być takie, aby ustawiona na twoim komputerze strona kodowa je wyświetlała... Ten znaczek, który wpisałeś w edytorze (w tym, gdzie pisałeś kod źródłowy) to nie musi być wcale ten sam znak na twojej konsoli... Wczytaj sobie wszystkie polskie literki na swoim komputerze, wyświetl ich kody (przez cout<<(int)znak;) i będziesz wiedział jakie wartości musisz nadawać znakom. Jeśli program ma także wyświetlać polskie znaki na innym komputerze to radzę zastosować kodowanie Unicode.

0
marcinEc napisał(a)

Jeśli program ma także wyświetlać polskie znaki na innym komputerze to radzę zastosować kodowanie Unicode.

Mam bardzo podobny problem w C. Chodzi o zczytanie polskich znakow z pliku. Mozna jakies kluczowe wskazowki jak zrobic kodownie UNICODE ? Program bedzie odpalany na roznych komputerach.

pozdrawiam :`. :. : *
Krzysztof Szynter :...' ..... : : : ..... . . . . . .....
PDDP project member : : :.... : : : :.... :: :: :.. : :....
debian.linux.org.pl :...' :.... : ': :.... : : :..' : :....

0

Parę haseł:
UTF-8
iconv
wchar_t, multi-byte character, mbstowcs (? mogłem się walnąć), itd.

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