<time.h> Probleme mit auslesen von struct tm



  • steht doch fast alles dort... sei mal nich so faul und denk selber mal ein bisschen nach 😉



  • Hey ich bin da heute zu blöd dafür ... sry ... weil so weit war ich auch schon ... mal zu googeln ... hab gedacht hier kann mir vielleicht jemand sinnvoll weiterhelfen ...



  • du holst dir struct * tm von localtime und in der struct drinne sind members wie tm_mday, tm_mon, tm_year, dann ein printf:

    time_t rawtime;
    time ( &rawtime );
    struct tm * mytime = localtime ( &rawtime ); 
    printf ("%d%d%d", mytime->tm_mday, mytime->tm_mon, mytime->tm_year-100);
    


  • Hmm, danke ... jetzt kapier ich des auch mal ... blos eine Frage habe ich noch ... warum hagelt des bei mir Fehlermeldungen ohne Ende:

    //edit:
    sry Programm vergessen:

    #include <time.h>
    #include <stdio.h>
    
    void main(void){
    
    time_t rawtime;
    time (&rawtime);  
    struct tm *mytime = localtime (&rawtime); 
    
    printf ("%d%d%d", mytime->tm_mday, mytime->tm_mon, mytime->tm_year-100);
    system("PAUSE");
    
    }
    
    C:\Documents and Settings\md77fe\Desktop\datum\date.c(9) : error C2143: Syntaxfehler : Fehlendes ';' vor 'type'
    C:\Documents and Settings\md77fe\Desktop\datum\date.c(11) : error C2065: 'mytime' : nichtdeklarierter Bezeichner
    C:\Documents and Settings\md77fe\Desktop\datum\date.c(11) : error C2223: Der linke Teil von '->tm_mday' muss auf eine Struktur/Union zeigen
    C:\Documents and Settings\md77fe\Desktop\datum\date.c(11) : error C2223: Der linke Teil von '->tm_mon' muss auf eine Struktur/Union zeigen
    C:\Documents and Settings\md77fe\Desktop\datum\date.c(11) : error C2223: Der linke Teil von '->tm_year' muss auf eine Struktur/Union zeigen
    

    bin heute en bissle durch den Wind geschossen ... sry 😞



  • Sry Ich bin dumm ... hier die Lösung und ich belästige euch nichtmehr weiter mi diesem Thema:

    #include <time.h>
    #include <stdio.h>
    
    void main(void){
    struct tm *mytime;
    time_t rawtime;
    time (&rawtime);  
    mytime = localtime (&rawtime); 
    
    printf ("%d | %d | %d", mytime->tm_mday, mytime->tm_mon, mytime->tm_year-100);
    system("PAUSE");
    
    }
    

    Danke an alle die mir geholfen haben ...



  • #include <stdio.h>
    #include <locale.h>
    #include <time.h>
    .
    .
    .

    time_t myTime;
    struct tm* day;
    char s[101];

    time(&myTime);
    day = localtime(&myTime);

    strftime(s, 100, "%#d %b %x", day);
    fprintf (stdout, s);

    @soul ist das C oder C++? bei C müssen erst aller variablen deklariert werden, bevor du irgendwelche befehle hintipen kannst ;o)



  • Hat ja jetzt funktioniert ... so wie ichs gebraucht habe ... -> Programmiere in C



  • frager0815 schrieb:

    @soul ist das C oder C++? bei C müssen erst aller variablen deklariert werden, bevor du irgendwelche befehle hintipen kannst ;o)

    das war mein fehler 🙂 bin halt C++ler..



  • Soul schrieb:

    kann ich was dafür wenn der VS6 zu blöd für en getdate(*); ist?

    Nochmal, was kann VS6 dafür, dass Du eine Funktion verwendest, die nicht im Standard definiert ist? Ich bin mir fast sicher, dass es in VS6 auch eine Art getdate() gibt, nur dass die Funktion hald anders heißt und auch andere Parameter bzw. Datentypen verwendet.

    Und bitte ersetz das system("PAUSE") durch was sinnvolles. Siehe dazu Konsolen-FAQ!

    (*psst*flüster* manche sehen das void vor main nicht gerne)



  • Ja .. schon klar ... war auch blos kurz die Funktion zum Testen ... normalerweise gebe ich en return zurück ... aber des war da net nötig ... blos um des kurz zu kompilieren ...omg


Anmelden zum Antworten