www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stings in Array ablegen


Autor: Jabber Wock (jabber)
Datum:

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

Autor: Helmi (Gast)
Datum:

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

Autor: Johannes M. (johnny-m)
Datum:

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

Autor: H.joachim Seifert (crazy_horse)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: H.joachim Seifert (crazy_horse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
:-)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahhh, des fehlende R war Absicht . . . 8-)

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.