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


von Matze N. (hupe123)


Lesenswert?

Hi,

ich habe ein Char Array alla:
1
unsigned char a,b;
2
unsigned char text[2];
3
4
text[0] = a;
5
text[1] = b;
6
text[2] = 0x10;
Mein problem ist nun, daß ich das in ein String alla
1
unsigned char string[];
 umformen will. Also in etwa so:
1
 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

von Klaus W. (mfgkw)


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)

von Karl H. (kbuchegg)


Lesenswert?

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

http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F

von Klaus W. (mfgkw)


Lesenswert?

Du solltest es ihm vielleicht vorlesen...

von BlabLa (Gast)


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

von BlabLa (Gast)


Lesenswert?

Oben meinte ich mit einer 0 nicht = ^^

Gruß
BlabLa

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.