hm, also in zeile 2 wandelst du einen char in ein int um, das ist schonmal ein kleiner irrtum.
Ein char besteht aus einem byte, nicht aus einem int. Auch nicht einfach int, sondern uint (also unsigned integer, sonst kriegst du mglw. -22).
Wobei die nummern 1-127 fest vergeben sind, die 127 zeichen danach (also 127-256 sind implementierungsspezifisch).
Der Charset in c++ und der charset der umgebung müssen kompatibel sein.
wenn du ein oldschool chararray als String nimmst kannst du so arbeiten (oder so ähnlich):
|
Quellcode
|
1
2
3
4
|
char test[4]="abc\n";
printf("Zeichen '%c' hat den ASCII-Code %d. \n", test[0], test[0]);
printf("Zeichen '%c' hat den ASCII-Code %d. \n", test[1], test[1]);
printf("Zeichen '%c' hat den ASCII-Code %d. \n", test[2], test[2]);
|
also %c für char und %d für integer, %X wäre als Hexadezimal
sonst kannst du auch ein union verwenden.

ist ein schwieriges thema, hoffe es hat ein wenig geholfen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nocturne« (6. August 2008, 12:34)