PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ascii-Umwandlung



Enomis
22.03.2011, 10:12
Hallo an alle,
ich möchte ein Programm schreiben, bei dem ich einen Text eingebe und jeder Buchstabe in seinen Ascii-Wert umgewandelt wird. Das wird ausgegeben und später wird der Wert wieder zurück zum Buchstaben gewandelt. Meine Frage: Welche Befehle brauche ich dafür?
Ich suche schon eine ganze Weile im Internet, finde aber nicht das, was ich brauche.
Vielen Dank im Voraus.
Enomis

oberallgeier
22.03.2011, 10:26
... Buchstabe in seinen Ascii-Wert ... Wert wieder zurück zum Buchstaben ... Welche Befehle ...Schau mal nach bei itoa und atoi, sprich: Integer to ASCII und ASCII to Integer. Diese beiden Befehle werden diese Umwandlung erledigen, steht ja schon sozusagen im Befehl *grins*.

Viel Erfolg.

Enomis
22.03.2011, 10:34
Bricht atoi nicht ab, sobald ein Leerzeichen erreicht wird? In meinem Text kommen aber Leerzeichen vor.

oberallgeier
22.03.2011, 10:47
Vermutlich hast Du noch nicht allzuviel Handbücher über C gelesen? Wenn überhaupt. Mein alter Spruch: Programmieren (generell der Umgang mit Controllern) ohne Handbuch gehört zu den letzten Abenteuern unserer Tage.

Schau mal hier nach (klick drauf). (http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#ga3a1fe00c1327bbabc76688a7 a1d73370)

PicNick
22.03.2011, 10:52
Du brauchst die zeichen im String nix umwandeln, das sind schon Zahlen. Geht bestenfalls ums visualisieren
z.B;
char cString[] = " ASCII";
dann steht in
cString[0] => 32 (= " ")
cString[1] => 65 (= "A")
etc.

Enomis
22.03.2011, 11:59
Meine Handbücher sind leider nicht am gleichen Ort wie ich und ich stand jetzt auf dem Schlauch...
aber jetzt habe ich es. Vielen Dank für eure Antworten!
Enomis

Richard
22.03.2011, 12:07
Du brauchst die zeichen im String nix umwandeln, das sind schon Zahlen. Geht bestenfalls ums visualisieren
z.B;
char cString[] = " ASCII";
dann steht in
cString[0] => 32 (= " ")
cString[1] => 65 (= "A")
etc.


Hmm...

char cString[] = " ASCII";
dann steht in
cString[0] => 32 (= " ")
cString[1] => 20 (Space) // fehlt das Leerzeichen hier nicht?
cString[2] => 65 (= "A")

Ich mache so etwas ja mit Bascom und dort gibt es natürlich auch entsprechende Befehle.......
CHR(20) gibt ein Lehrzeichen, ASC " " ergibt 20

Gruß Richard




Gruß Richard

PicNick
22.03.2011, 12:10
?????????????????
32 = 0x20 = " " = blank
und das ist im string[0]
??????????

Ahja: das " kommt im string nicht vor, das wär ja 42 = 0x22 = "