Tom schrieb:
> Dieses Array ist definiert, da im Code befüllt wird (via serielle
> Schnittstelle). Soweit so gut! Nun möchte ich aber in dieses
> 10dimensionales Array Defaultwerte (z.B. Hans, Friedrich,Jo,..)
> einfüllen. Offensichtlich sind die Namen unterschiedlich lang,
Das macht nichts.
STrings sind in C so aufgebaut, dass immer klar ist, wo der String
aufhört. Selbst dann, wenn der String kürzer ist als die Speicherfläche,
in der er gespeichert ist.
> Wie weisse ich nun meine 10 Vornamen in den Array?
> Dachte so was in der Art
>
1 | > stringUser[0] ="Hans"
|
2 | > stringUser[30] ="Friedrich"
|
3 | > stringUser[60] ="Jo"
|
4 | > ...
|
5 | >
|
>
> natürlich geht das so nicht, ich vermute dass ich in Richtung Pointer
> arbeiten muss.
Lass uns erst mal nur mit deinem 2D Array arbeiten
1 | strcpy( stringUser[0], "Hans" );
|
2 | strcpy( stringUser[1], "Friedrich" );
|
3 | strcpy( stringuser[2], "Jo" );
|
> Habe mich an dem Artikel
> https://www.mikrocontroller.net/articles/String-Verarbeitung_in_C
> orientiert, bin aber leider nicht ins Ziel gekommen.
Der ist ja eigentlich auch nur die Kurzform. Die Langform inklusive
zahlreicher Übungsbeispiele sollte sich eigentlich in so ziemlich jedem
richtigen C Buch finden.
Und so schwer ist das auch wieder nicht. Halte dich an die Maxime:
arbeiten mit Strings bedeutet praktisch immer die Benutzung der str...
Funktionen. Mit direkten Zuweisungen oder Vergleichen hast du da
schlechte Karten.
Am Anfang benötigst du 3 Dinge:
* das Verständnis, dass die Speicherfläche (das Array) immer
größer/gleich sein muss, als der darin zu speichernde String.
* Jeder String hat immer ein '\0' Byte hinten. Schreibst du selbst im
Programmtext einen String, dann hängt der Compiler dieses Abschlussbyte
für dich mit an.
* die 4 Funktionen strcpy(), strcat(), strcmp() und strlen()
Damit kommst du schon sehr weit.
Und PS: sieh dein 2D Array an als ein 1-dimensionales Array von weiteren
1-dimensionalen Arrays. In letzteren wird jeweils 1 String gespeichert
und die darüberliegende Zusammenfassung zu einem weiteren Array liefert
dir dann ein Array von Strings.