Hex to ASCII

Gast #2126647
Lesenswert?

Hallo,
habe mein gutes C-Buch grade nicht dabei.
Ich suche eine Funktion die analog zu ultoa eine unsigned Long int in 
einen ASCII-String verwandelt.
Also
1
unsigned long int Zahl = 1000; // 1000 dez = 0x03E8
2
char my_string[10];
3
hextoa(Zahl,my_string,10);
soll dann als Ausgabe in my_string 0x000003E8 ergeben.
Gast #2126677
Lesenswert?

> Ich suche eine Funktion die analog zu ultoa eine unsigned Long int in
> einen ASCII-String verwandelt.

ultoa macht doch genau das. Warum brauchst du dann eine "zu ultoa 
analoge Funktion"? Nimm doch einfach ultoa!
Gast #2126718
Lesenswert?

Hexadezimal (und Oktal) sind ja deshalb so verbreitet, weil deren Basis 
eine Potenz von 2 ist. Bei Hexadezimal entspricht dann jeder Ziffer 
genau 4 Bit. In einer Schleife immer jeweils 4 Bit unabhängig 
voneinander verarbeiten ist dann doch trivial.
Gast #2126768
Lesenswert?

Sorry Leute

aber mein gutes C-Buch ist verschollen.
In meinem Programm stand:
1
  ultoa(Zahl,string1,10);
Ich hatte den dritten Parameter mit der Stringlänge asoziert...
Jetzt klappts, danke.

Warum bekomme ich bei
1
LCD_Zeichen(toupper(my_string[i]));
die Warnung:"implicit declaration of function 'toupper'" ?

(Besser neuen Thread?)
#2126782
Lesenswert?

Karl Heinz Buchegger schrieb:
> Helmut Lenzen schrieb:
>> Rufus Τ. Firefly schrieb:
>>> Nö, muss es nicht. Welche Funktion hat denn Deiner Ansicht nach der
>>> dritte Parameter von ultoa?
>>
>> Ich kenne den nur als Radix. Bei 2 macht er einen Binaerstring , bei 10
>> einen Dezimal und bei 16 einen Hexstring.
>                                  *********
>
> Und was wollte der TO noch mal?

Der TO schrieb 10. Und wollte einen Hexstring im Format "0x000003e8" und 
dachte mit der 10 wuerde er eine laenge von 10 erhalten.
ultoa liefert aber keine fuehrenden Nullen und kein 0x davor.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren