Arrays in einer Struktur (ANSI-C)

Gast #2516212
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren