[ Smilebey @ 06.03.2005. 19:46 ] @
Kako pretvoriti character u ASCII code i obrnuto? |
[ Smilebey @ 06.03.2005. 19:46 ] @
[ Buffy @ 06.03.2005. 20:26 ] @
char ti je u stvari int,samo sto ima jedan bajt(int ima 2).
Ako zelis da odstampas na ekran vrijednost nekog chara onda trebas konvertovati char u broj i obratno,broj u char: Code: cout<<(int)'a';//ili printf("%d",'a'); cout<<(char)100;//ili printf("%c",100); Ja bih ti preporucio neku dobru knjigu o osnovima C/C++-a. [ X Files @ 06.03.2005. 20:27 ] @
'char' u C/C++ je automatski ASCII kod, za razliku od Pascala
gde se uglavnom koristi ord(). A sta ti konkretno treba? [ leka @ 06.03.2005. 20:27 ] @
Code: /* * file: ascii2char.cpp * compile: make ascii2char * run: ./ascii2char * author: Dejan Lekic , http://dejan.lekic.org */ #include <iostream> using namespace std; int main() { unsigned int ascii_kod; unsigned char karakter; cout << "Unesite ASCII kod: "; cin >> ascii_kod; cout << "Karakter \"" << (unsigned char)ascii_kod << "\" odgovara unetom kodu." << endl; cout << "Unesite karakter: "; cin >> karakter; cout << "ASCII kod unetog karaktera je " << karakter+0; // ili recimo (unsigned int)karakter } dejan@gnu ~/prj/cxx/es $ make ascii2char g++ ascii2char.cpp -o ascii2char dejan@gnu ~/prj/cxx/es $ ./ascii2char Unesite ASCII kod: 69 Karakter "E" odgovara unetom kodu. Unesite karakter: S ASCII kod unetog karaktera je 83 Da bi se ovo gore lakse razumelo mozda je bolje analizirati sledeci mali fajl: Code: /* * file: ascii2char2.cpp * compile: make ascii2char2 * run: ./ascii2char2 * author: Dejan Lekic , http://dejan.lekic.org */ #include <iostream> int main () { char first = 'E'; /* Upisana kao 69 negde u memoriji */ char second = 'S'; /* Upisana kao 83 negde u memoriji, jerbo je ASCII kod karaktera 'E' jednak 69 */ int rez; rez = first + second; /* Ovde se NE racuna E + S vec 69 + 83 */ std::cout << rez << std::endl; /* Na izlazu dobijamo 152 */ } dejan@gnu ~/prj/cxx/es $ make ascii2char2 g++ ascii2char2.cpp -o ascii2char2 dejan@gnu ~/prj/cxx/es $ ./ascii2char2 152 [ Smilebey @ 07.03.2005. 21:25 ] @
Pa eto ja bi trebao pretvoriti uneseni string koji se sastoji iz velikih slova u male. Npr. RONALDO u ronaldo. Ja sam mislio dodati na char 32 [jer a(97)-A(65)=32]. Mislim da me razumijete, ali mogu li dodati tipu char int vrijednost? Npr.
Code: int i=97; char c=i; Hvala unaprijed!!! [ Winex @ 09.03.2005. 21:29 ] @
postoje gotove funkcije strupr() i strlwr(), a pridruživanje integera charu... definitivno ne tako kako si napisao. char može upamtiti vrijednost od 0 do 255 (to stane u 1 Byte), dakle, on pamti ASCII, a ako zelis opvecati/smanjiti ascii, !mislim! da možeš jednostavno ovako:
Code: char xmix; xmix=xmix+[neka vrijednost integera (ali naravno da konacna vrijednost ne pređe 255)]; Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|