ich habe hier einen Fehler der nur ab und zu (selten) auftritt und fuer den ich keine Erklaerung habe.
Es geht um die Feststellung, ob eine Datei existiert und eine regulaere Datei ist.
Aus dem Beispiel aus man 2 stat habe ich folgene Abfrage erstellt:
Code: Alles auswählen
bool Datei_existenz_test(char* D)// (dateiname) Gibt existiert zurueck.
{
struct stat sb;
if(stat(D,&sb)==-1)
{
printf("-->stat-Fehler->>%i\n",EXIT_FAILURE);
}
if((sb.st_mode&S_IFMT)==S_IFREG)
{
return(true);
}
else
{
return(false);
}
}
Ab und zu wenn ich mein Programm starte, gibt die Funktion true zurueck obwohl die Datei nicht existiert oder auch umgekehrt.
Wenn der Fehler auftritt, starte ich das Programm neu und alles ist wieder O.K.
Der Fehler tritt nur sehr selten auf und laesst sich nicht reproduzieren.
Der Dateiname wird immer korrekt uebergeben, dass habe ich schon getestet.
Hat vlt. einer von Euch eine Idee woran es liegen koennte?
Gruss heinz