Gast
#1341619
Hallo, versuche immer noch C zu lernen.
Hab mal einen String der Hexadezimalzahlen enthält versucht wieder in
einen String mit den passenden ASCII-Zeichen umzuwandeln. Das klappt
soweit. Nur hab ich ma wieder das Problem, das im Puffer bei der
Ausgabe mal wieder zusäztlich noch irgendwelcher Mist drin steht. Warum
eigentlich. Ich habe die Feldgrößen ja genau angegeben. Oder liegt das
an der help Variable, muss ich da vielleicht noch das
Terminierungszeichen mit angeben. Genauso ist mir noch nicht ganz der
Unterschied zwischen ++u und u++ ganz klar. Also u++ erhöht einfach,
aber ++u doch auch. Bei der Ausgabe kommt bei mir das selbe raus. Find
es leider in meinem C-Buch auch nicht. Kann das einer mir vieleicht
nochmal schnell sagen.
char x[]="34 61 48 61 61";
test2(x);
void test2(char* wort)
{
int x= strlen(wort);
unsigned char help[2];
unsigned char str[5];
int zahldec;
int u;
int r=0;
for(u=0;u<5;u++)
{
help[0]=wort[r];
help[1]=wort[r+1];
sscanf(help, "%x", &zahldec);
r=r+3;
str[u]=zahldec;
}
printf("%s",str);
}