Forum: Mikrocontroller und Digitale Elektronik Char-Array mit Integern


von Tobias C. (Firma: css) (tobi84)


Lesenswert?

Hallo,

kann mir bitte jemand sagen, wie man in so ein Array einen Integerwert 
"einbindet"!
Geht das überhaupt?

Ich habs schon mit itoa und sprintf versucht.


char MT_eintr1[]                      = "    Uhrzeit     ";
char MT_eintr2[]                      =               ;
char MT_eintr3[]                      = " Spannung       ";
char MT_eintr4[]                      = " Helligk. einst.";
char MT_eintr5[]                      = " Spannung einst.";

Tobias

von Matthias L. (matze88)


Lesenswert?

Meine Quick and Dirty methode wäre mit memcpy. Du kopierst an die Stelle 
des gewünschten Anfangs den als String aufbereiteten Integerwert (itoa 
aus temp-char *). Achte darauf, nicht über das Ende der Variablen zu 
schreiben und achte auf das abschließende \0, sofern du mit 
Stringpointern arbeitest.

Edit:
Statt memcpy geht natürlich bei kurzen Zeichenketten auch ne 
Selbstgebaute Funktion eventuell effektiver.
char *temp = "3 V";
MT_Eintr3[10]=temp[0];
MT_Eintr3[11]=temp[1];
MT_Eintr3[12]=temp[2];

Dabei treten dann natürlich weitere Probleme auf, die du lösen musst 
(Länge der einzufügenden Variable)

von Tobias C. (Firma: css) (tobi84)


Lesenswert?

hast du das so gemeint?

        char Buffer[1];
         itoa( flags.dcf_rx, Buffer, 1 );
  memcpy(MT_eintr2[0],flags.dcf_rx,1);

geht nähmlich nicht!

Aber trotzdem schon mal Danke für deine Antwort!!!

Tobias

von Klugscheisser (Gast)


Lesenswert?

Ein simples "geht nicht" ist hier nicht besonders hilfreich. Eine 
Beschreibung, was bei dem Versuch passiert würde den der Dir helfen will 
weiterbringen.

Das
1
itoa( flags.dcf_rx, Buffer, 1 );
nicht geht wundert mich garnicht, falls der dritte Parameter die 
Zahlenbasis sein soll.
Abgesehen davon, wäre noch zu klären, ob Dein itoa eine Null anhängt 
oder nicht.

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.