www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Char-Array mit Integern


Autor: Tobias Conte (Firma: css) (tobi84)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias Larisch (matze88)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Tobias Conte (Firma: css) (tobi84)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klugscheisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.