struct komplett ausgeben



  • Hallo,

    ich lerne gerade ein wenig C und habe mir eine einfache Aufgabe gestellt.
    Ein struct erstellen, füllen und nacher ausdrucken.
    Beim drucken hapert es. Es wird nur ein Element ausgegeben.
    Könnte mir jemand sagen warum?
    Eine weitere Aufgabe die ich lösen möchte: nur einen bestimmten Teil ausgeben: z.B. alles ab dem dritten Zeichen. Könnte mir jemand helfen?

    #include <stdio.h>
      struct person{
            int anz;
            short user;
            char data[256];
        };
    
    int main(int argc, char **argv){
        struct person meier;
        meier.anz=3;
        meier.user=0001;
        printf("Ausgabe %d\n", meier);
    }
    


  • du musst die elemente einzeln ausgeben.



  • espressokocher schrieb:

    Eine weitere Aufgabe die ich lösen möchte: nur einen bestimmten Teil ausgeben: z.B. alles ab dem dritten Zeichen. Könnte mir jemand helfen?

    bei einem c-string kannst du einen zeiger auf das zeichen übergeben, wo die ausgabe beginnen soll und diesen an printf etc. übergeben.



  • Du hast ja auch nur einen Formatspecifier (%d) bei printf angegeben.
    %d steht übrigens für dezimal integer.
    Dazu muss dann aber auch der Typ vom Paramter passen. Also int.
    Du übergibst aber eine ganze struct. Das passt auch nicht.



  • espressokocher schrieb:

    Ein struct erstellen, füllen und nacher ausdrucken.

    Schreibe dir für jede dieser Aufgaben genau eine Funktion und überlege dir, was du wohl für Parameter jeweils brauchst.

    espressokocher schrieb:

    Eine weitere Aufgabe die ich lösen möchte: nur einen bestimmten Teil ausgeben: z.B. alles ab dem dritten Zeichen. Könnte mir jemand helfen?

    Nutze eine der zuvor erstellten Funktionen und erweitere die Parameterliste um einen Parameter "zeichenab".


Anmelden zum Antworten