ascii2int
-
hallo,
eventuell ist mein problem zu simple aber ich komme nicht drauf
ich habe einen string ala "hello world!"
und möchte jetzt den integerwert eines jeden buchstabens haben.
also bastle ich:char *text="hello world!";
for (int i=0;i<strlen(text);i++)
{
zahl = ascii2int(text[i]);
printf("%d", zahl);
}wie muss denn asscii2int() aussehen?
-
atoi
-
iota
-
das ist wiederrum völlig falsch.
atoi macht aus einer ascii zahl (1234567890) eine integer zahl .. ich möchte aber von JEDEM ascii zeichen die entsprechende zahl im ascii satz haben.von 1 bis 255
der nächste bitte
-
Das wird automatisch konvertiert, folglich:
int zahl = text[i];
-
int atoi( const char *string )
=> ascii to integer
Wenn du die Adresse eines char reinsteckst kommt der entsprechende ASCII Wert heraus...schwups
-
KaPtainCugel@School schrieb:
Das wird automatisch konvertiert, folglich:
int zahl = text[i];
und das sowieso
-
atoi schneidet alles weg was keine ascci zahl ist. probiers doch mal aus und lass es mit deinem geliebten atoi mal gut sein.
so zu: int zahl = text[i];
ja das weiss ich und das probierte ich als erstes, aber ich bekam es mit folgenden code nicht wirklich hin.for (int i=0;i<strlen(text);i++)
{
zahl = text[i];
printf("i[%d]: %d-%c\n",i,zahl,text[i]);
}wenn text 0x4D => M ist dann stimmt es und er sagt mir 77
wenn aber text 0xBA ist was diese 2 parallelen striche sind (in norton commander oberfläche zu finden) dann sagt er mir -70 statt 186.er zeigt mir aber bei beiden für %c das jeweilige richtige zeichen an. also warum gehts dann nicht für alle?
-
dann so:
printf("%d", static_cast<unsigned char>(text[i]));
(warum muss es eigentlich printf sein?)
-
versuchs mit unsigned char...
//edit zu spät,zuviel getestet
-
@Bashar juhu! danke schön, jetzt klappts
*verneig*
-
printf gemischt mit static_cast, sehr sarkastisch.
-
Mis2com schrieb:
printf gemischt mit static_cast, sehr sarkastisch.
bashar hat heute wohl mal wieder seinen speziellen tag