Arrays in einer Struktur (ANSI-C)

Gast #2516212
Hallo Leute,
programmiere gerade mit dem C18-Compiler.
Ich versuche Arrays in einer Struktur, welche selbst ein Array ist 
einzeln mit Zeichen zu füllen.

Beispiel:
---------


typedef struct
{
  char array_eins[20];
  char array_zwei[5];

} STRUKTUR;

STRUKTUR array[10];



Mit "strcpy" kann ich einen kompletten String übergeben, was ja auch 
funktioniert aber nicht meine Absicht ist. Wie jedoch hab ich Zugriff 
auf einzelne Stellen (Adressen) der jeweils in der Struktur befindlichen 
Arrays???

Für eure Bemühungen bedanke ich mich im Voraus.
Hans
Gast #2516251
Hallo Peter II,
Jetzt bin ich aber wirklich baff. Hatte gestern lange probiert. Habe mit 
Pointern hantiert, und und und ...
Naja, irgendwann man sieht vor lauter Bäumen den Wald nicht mehr.
Um es abzuschließen. Es funktioniert wunderbar!!!
Vielen Dank für die Hilfe!!!

Für alle Anderen noch eine kleine Funktion zum befüllen:


void StrukturArrayFuellen(void)
{
        uint8 j;
  uint8 i;
  uint8 k;


  for(j=0; j<10; j++)
  {
    for(i=0; i<20; i++)
    {
      array[j].array_eins[i] = 'a';
    }

    for(k=0; k<5; k++)
    {
      array[j].array_zwei[k] = 'b';
    }
  }

  return;
}


Grüße Hans
Gast #2516270
du hast dann aber kein 0 byte mehr am ende, damit kannst du dann keine 
string funktionen mehr nutzen.

Auch die Zahlen 20 und 5 im code sind sehr unschön, weil keiner weiss wo 
sie herkommen, und wenn du die struct änderst geht alles schief.

Verwende dafür defines.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.