Forum: Mikrocontroller und Digitale Elektronik sprintf verwenden um int wert in ascii zeichen umzuwandeln


von sam (Gast)


Lesenswert?

Hallo,
wie muss ich die sprintf funktion verwenden, dass sie mir von einem int
wert das ascii zeichen liefert?
ich habe folgendes

int i=77;
char *s="";

ich will vom wert der variablen i das ascii zeichen haben, und dann in
s speichern

von Christof Krüger (Gast)


Lesenswert?

printf("zeichen: %c", 77);

analog mit sprintf. In diesem Fall sollte das ein großes 'M' ergeben.

von sam (Gast)


Lesenswert?

danke.....ich sollte das gewandelte zeichen nun in eine variable
schreiben.....
kann ich das folgendermassen machen?
char a;
a=sprintf("zeichen: %c", 77);

von OldBug (Gast)


Lesenswert?

Nein!

Das geht doch wesentlich einfacher:

char a = 65;    /* A */
char a = 0x41;  /* A */
char a = 'A';   /* A */

int i = 'A';    /* 65 */
int i = 0x41;   /* 65 */
int i = 65;     /* 65 */

von sam (Gast)


Lesenswert?

das geht aber bei mir nicht!!
da ich die zeichen von einer seriellen schnittstelle einlese, und alles
mögliche für zeichen ankommen können!!
ich muss da flexibel sein!

von OldBug (Gast)


Lesenswert?

Dann passt Deine Frage aber nicht!

Was willst Du denn jetzt genau?
wenn aus einem Byte das jeweilige Zeichen oder auch ein Wert übernommen
werden soll, dann wäre das nur eine andere Schreibwiese meines
Vorschlags...

von stone (Gast)


Lesenswert?

Hast du dir schonmal itoa() angeguckt? Die Funktion sollte dir
eigentlich sehr entgegenkommen, wenn ich dein Problem richtig
verstanden habe.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.