Array mit mehreren strings/timestamp



  • Ich benötige ein Array mit Folgenden einträgen

    [0] Hans;3;1234
    [1] Petra;2;3123
    [2] Lilo;1;2332
    .
    .
    .

    Wie erstelle ich soetwas am besten? Brauche ich dazu ein Pointerarray mit welchen ich auf char arrays verweise?

    Kann mir bitte jemand ein Beispiel geben wie ich soetwas erstelle?

    Wie kann ich einen Timestamp in C abrufen? ich habe mir die headerdatei time.h angesehen aber dafür keine funktion gefunden? Nur funktionen wo ich mit Timestamps rechnen kann?
    Danke!
    mfg
    SYBEX



  • a) http://www.c-plusplus.net/forum/viewtopic-var-t-is-200341.html

    b)

    #define NUMBERYOUWANT 200
    
    struct Person
    {
       char Name[200];
       int iA;
       int iB;
    };
    
    struct Person * p = (struct Person *) malloc(sizeof(struct Person)*NUMBERYOUWANT);
    


  • malloc() wird in C nicht gecastet.



  • erstmal danke für die hinweise

    also nur damit ich weiß dass ich es richtig mache

    als:

    ich habe global vor main folgende struktur definiert:

    static struct login
    {
    char NAME[256];
    int versuche;
    int timestamp;
    }l[200];

    im main habe ich dann

    malloc(size(struct login);

    und einen aufruf einer funktion mit gesperrte_user(char benutzername[256]);

    in der funktion

    static int gesperrte_user(char benutzername[256])
    {
    struct login *object;
    }

    möchte ich mit object[zahl].Name auf eie der variablen zugreifen

    soweit ich verstehe habe ich jetzt die möglichkeit auf 200 reservierte speicherbereiche meinde daten zu schreiben. so weit bin ich hoffentlich richtig.

    nun möchte ich wissen welche speicherbereiche noch nciht belegt sind. dies ist wichtig da wenn sich ein neuer user sich anmeldet ich seine daten überprüfen und ich herausfinde dass ich ihn noch nicht im system habe ich ihn neu eintragen muss.

    nur wie kann ich herausfinden dass ein ein speicherbereicht also z.B. object[11].Name noch keinen wert zugewiesen bekommen hat?

    ich hab gelesen dass man durch
    static struct login
    {
    char NAME[256];
    int versuche;
    int timestamp;
    }l[200]={"",0,0};

    einen standardwert einstellen kann... das habe ich versucht hat aber nichtfunktioniert?

    und noch eine frage ist das ganze thread sicher? ich habe die funktion mit einem mutex abgesichert! kann also jeder thread den ich starte für mein programm auf die selben daten zugreifen? oder gehn die durch die instanzierung (struct login *object;) in der funktion verloren?

    mfg
    ESAD


Anmelden zum Antworten