Forum: Mikrocontroller und Digitale Elektronik Stings in Array ablegen


von Jabber W. (jabber)


Lesenswert?

Hallo, ich brauche mal Hilfe mit einem Array.

In einer Schleife messe ich Temperaturen an sech NTCs mit dem ADC.
Dann bastel ich mir ein mit strcpy und strcat einen String in dem die 
Temperatur, Sensorbezeichung, Zeit, usw drin stehen. So das ich ein 
String mit Trennzeichen bekomme den ich dann an meine PC Software 
übergeben kann.
Diesen String z.B.(temp;bezeich;zeit;\n\r) möchte ich dann in einem 
Array ablegen, so dass ich dann wenn die Schleife alle sechs Sensoren 
gemessen hat ein Array habe in dem die sechs Stings liegen. Damit ich 
die dann an den PC senden kann.

Kann man Strings in Arrays schreiben?
Eigentlich ist ja jeder String eh schon ein Array, geht das dann 
überhaupt?

mfg
jabberwock

von Helmi (Gast)


Lesenswert?

Man kann auch ein Array von Strings erstellen.

char  szStr[10][20]  erzeugt dir ein Array von 10 Strings der laenge 20.

Allerdings wuerde Ich an deiner Stelle mir die Messwerte erstmal so 
merken in binaere Form und nicht als ASCII String. Erst dann wuerde ich 
den String zusammenbasteln und dann ausgeben. Das hat den Vorteil enorm 
Speicherplatz zu sparen.

Gruss Helmi

von Johannes M. (johnny-m)


Lesenswert?

Richtig, ein String ist (in C) nichts anderes als ein Array. Und Du 
kannst (wie Du ja selbst schon festegestellt hast) mit strcat mehrere 
Strings zu einem zusammenfügen. Wenn die Länge der Strings bekannt ist, 
dann ist es vermutlich auch das Sinnvollste, es genau so zu machen. 
Selbstverständlich kannst Du die Strings auch in einem zweidimensionalen 
Array ablegen (quasi ein Array von Strings), aber das ist bei bekannter 
Stringlänge überflüssig, da Du dann auch (bei 6 Strings) 6 mal die 
Ausgabefunktion aufrufen müsstest. Wenn Du natürlich drauf angewiesen 
bist, die Strings einzeln zu haben, dann kannst Du natürlich ein 
zweidimensionales Array benutzen (oder alternativ die Strings einzeln 
ablegen und ein Array von Pointern zum Zugriff benutzen; dann können die 
Strings auch unterschiedliche (beliebige) Längen haben, ohne dass 
unnötig Speicherplatz blockiert wird).

von H.joachim S. (crazy_horse)


Lesenswert?

ich mag Sting. Und ich möchte nicht, dass der in Arrays abgelegt wird.

von Falk B. (falk)


Lesenswert?

@ H.joachim Seifert (crazy_horse)

>ich mag Sting. Und ich möchte nicht, dass der in Arrays abgelegt wird.

Ein String ist in C ein Array von chars.

MFG
Falk

von H.joachim S. (crazy_horse)


Lesenswert?

:-)

von Falk B. (falk)


Lesenswert?

Ahhh, des fehlende R war Absicht . . . 8-)

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.