mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CHar Array in eine String - Wie?!


Autor: Matze Niemand (hupe123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe ein Char Array alla:
unsigned char a,b;
unsigned char text[2];

text[0] = a;
text[1] = b;
text[2] = 0x10;
Mein problem ist nun, daß ich das in ein String alla
unsigned char string[];
 umformen will. Also in etwa so:
 string = {text[0], text[1], text[3]}; 
 Aber das geht ja bekanntlich nich...
Und mir fehlt einfach die zündende Idee!!!
Weiß jemand einen Tipp?!

Grüße,
Matze

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und mir fehlt einfach die zündende Idee!!!

C-Buch lesen!
Oder soll man auch dir das vorlesen als Gutenachtgeschichte?

Mal auf den ersten Blick:

- text hat nur zwei Elemente, trotzdem packst du drei rein
  (bzw. zwei rein und ein drittes dahinter, auf das vierte Element
  text[3] greifst du auch gleich noch zu)

- dazu würde noch die abschließende 0 gehören (schon etwas
  davon gehört?)

- dann kann man einen solchen String mit strcpy() kopieren.

Das steht alles in jedem guten C-Buch.

(Falls es hier überhaupt um C geht)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bis du dann dein C-Buch hast, kannst du dir das wichtigste hier 
nachlesen.

http://www.mikrocontroller.net/articles/FAQ#Wie_fu...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest es ihm vielleicht vorlesen...

Autor: BlabLa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

In C gibt es eigentlich keine Strings an sich. Strings sind nur 
Chararrays die mit einer = abgeschlossen werden, damit die 
Stringfunktionen wissen wo das ende des Strings ist.
Bei deinem Beispiel ware das:

unsigned char a,b;
unsigned char text[4];

text[0] = a;
text[1] = b;
text[2] = 0x10;
text[3] = 0x00; //alternativ geht auch text[3] = '\0';

Gruß
BlabLa

Autor: BlabLa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oben meinte ich mit einer 0 nicht = ^^

Gruß
BlabLa

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.