Kodowanie znaków

0

Jak w C++ udyzkać Kody każdego znaku z pdanego ciągu... Np. w Edit1 ktoś wpisuje : domek a w Edit2 ma się pokazać to zakodowane w ASCII, w delphi bez problemu to się robiło za pomocą CHR (i ORD) a jak to zrobić w C++ ??

0

char *tab;
tab = new char [Edit1->Text.Length+1];
tab=Edit1->Text.c_str();
i teraz wyświetlasz kody znaków jak z tablicy charów

0

no tak ale jak odzytać (jaką funkcją) kod z tabrli charów?? Nigdy nie odczytywałem kodu w C++ ;) umie jedynie w Delphi i tam jest to formula chr a tu??

0

no i mam jeszcze jedno pytanie.... spróbowałem już ten kodzik i on troszke dziwnie działa powiedzmy ze mam w Edit1 1212jjj to po wykonaniu formuły z kodu tekst z Edita sie obcina i zostaje tylko 1212, a np. kiedy mam w Edicie 5fdghdfh45fg1 to obcina sie tylko 1 znak. Ten kodzik chyba nie powinien obcinać znaków ??

0

Spróbuj tak :

tab =new char[Edit1->Text.Length()+1];
sprintf(tab, "%s", Edit1->Text.c_str());
0

w c++ wyciągniecie kodu ASCII danego znaku jest banalnie proste.
Np:
wyswietlenie w konsoli:
cout << (int)'a';
I wten sposób bezczelnie mozesz wykonywac operacje typu:
'a'+'b'
'a'+15
bo tak naprawde znak to jest liczba która jedynie przy wyswietlaniu zostaje zamieniona na odpowiednią literke ;-)
Dodanie (int)przed zmienną typu char wywoła jawną konwersje char na int.
Pozdrawiam

// Taa... A jak masz ustawione difoltowo signed dla char, to dla '\xff' wyjdzie -1 ;p Lepiej uzyc (unsigned char)'a' jesli chcesz ascii dokladnie wg tabel. [mf]

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