Guter Stil in C(++): Initialisierung von Zeigern immer mit NULL um Fehlern vorzubeugen.
Code:
DIR *dp = NULL;
struct dirent *ep = NULL;
Wieso fragst du auf dp gleich NULL ab, brichst dann das Programm ab und fragst danach noch auf ungleich NULL ab? Ergibt keinen Sinn! Die zweite Bedingung ist immer erfüllt, sofern sie geprüft wird!
Code:
if (dp == NULL) {
perror ("opendir");
exit(-1);
}
if (dp != NULL){
Außerdem könnte man als Stilhilfe noch angeben, dass man Konstanten stets auf die linke Seite des Vergleichs stellen sollte, damit keinen versehentliche Zuweisung geschieht. Sprich: