Mögliche Duplizieren:
What’s the best way to check if a file exists in C? (cross platform)C, prüfen, ob eine Datei existiert, ohne dass man lesen/schreiben kann?
ich möchte überprüfen, ob eine Datei vorhanden ist oder nicht. Ich habe die Berechtigungen meiner Testdatei auf "chmod -r somefile" geändert. Jetzt sagt es aber, dass die Datei nicht existiert, obwohl sie existiert.
Also ich nehme an, wenn ich nicht Leseberechtigungen habe, kann ich die Datei mit "fopen r" nicht öffnen. Aber das würde bedeuten, dass es keinen einfachen Weg gibt zu sagen, ob eine Datei existiert oder nicht gelesen/geschrieben werden kann.
Oder fehlt mir etwas? Jede Hilfe wäre großartig.
Danke!
int doesFileExist(const char* filename)
{
FILE* fptr = fopen(filename, "r");
if (fptr != NULL)
{
fclose(fptr);
printf("File exists\n");
return 1;
}
printf("File doesnt exist\n");
return 0;
}
Update: Danke Leute für diese tollen Links und Erklärungen!
Um .. haben Sie geprüft 'errno'? EDIT: versuchen Sie dies, um eine Fehlermeldung zu erhalten: 'printf (" Datei existiert nicht:% s \ n ", strerror (errno));' Vergessen Sie nicht, 'errno.h'-Header einzubeziehen. – Jack
Das ist es, was ich an der stdio-API hasse, wenn Sie etwas nicht-triviales machen wollen, wie die Größe einer Datei ändern oder eine Datei verschieben, ohne sie zu kopieren und zu löschen, haben Sie kein Glück in Bezug auf Portabilität. – Thomas