trotz #include<ctime> ist time(.) und difftime(..) unbekannt



  • Hi,
    mit meinem Programm möchte ich die Zeitspanne, in der Files eingelesen werden, ausgeben.
    Ich hab ctime included, aber ich bekomme ne Fehlermeldung. Wieso 😞 ? Warum ist time und difftime unbekannt?

    #include <malloc.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <memory.h>
    #include <ctime>
    #include <cmath>
    
    using namespace std;
    
    int main()
    {
     bla, bla;
     time_t start,end;
     time(&start);
     for(int h=0;h<numFiles;h++)
     {
       bla, bla;
     }
     time(&end);
     double dif = difftime(end,start);
    
     return 0;
    }
    

    Fehlermmeldung
    D:\TestBinaer.cpp(137) : error C2065: 'time' : nichtdeklarierter Bezeichner
    D:\TestBinaer.cpp(179) : error C2065: 'difftime' : nichtdeklarierter Bezeichner



  • du musst ja auch die <time.h> und nicht die <ctime.h> includen!

    greetz

    Disi



  • mit #include <time.h> krieg ich die gleiche Fehlermeldung ...



  • Da dein Programm Syntaxfehler und nicht-Standard-Header enthält, möcht ich dich bitten, das ganze mal mit einem Minimalbeispiel zu versuchen:

    #include <ctime>
    int main()
    {
      std::time(0);
    }
    


  • Hi,

    hab's ausprobiert und krieg folgende fehlermeldung:

    error C2039: 'time' : Ist kein Element von 'stlport'

    Mein richtiges Hauptprogramm greift auf eine .lib zu, in der alle Klasse definiert/implementiert sind. 🙄



  • muss man bei den #include-Dateien eine bestimmte Reihenfolge einhalten???



  • Hi,

    Ich hab meine include-Dateien vertauscht ... jetzt kommt keine Fehlermeldung mehr ... warum müssen meine .h-Dateien zuerst stehen???

    #include "stdafx.h"
    #include "Block.h"
    #include "Point3D.h"
    
    #include <stdio.h>
    #include <ctime>
    


  • Du mischst veraltete Header mit neuen.
    Nimm <cstdio> anstelle von <stdio.h>.


Anmelden zum Antworten