Nicht angemeldet. · Kennwort vergessen · Registrieren

flight
Mitglied seit 02/2012
3 Beiträge
Betreff: SPiC - Aufgabe6 - lstat
Hallo
beim compilieren bekomme ich immer den Fehler "implicit declaration of function lstat".
Normalerweise heißt das doch, dass ich die Funktion noch "ausformulieren" soll.
Hier will ich aber die Funktion lstat(2) (-> Aufgabenstellung) verwenden. Es sind allerdings alle nötigen Dateien eingebunden, oder? Was mache ich da falsch?

Danke im Vorraus
flight

Hier mal Ausschnitte aus meinem Code:

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>

int main(){
    DIR *verzeichnis_eintraege;
    struct dirent *ausgabezeiger;
    char *dateiname;
    int stat_result;
    struct stat *datei_info;

    verzeichnis_eintraege = opendir(".");
        if ((ausgabezeiger = readdir(verzeichnis_eintraege))!=NULL){
            dateiname = ausgabezeiger -> d_name;
            stat_result = lstat(dateiname, datei_info);
        }
    closedir(verzeichnis_eintraege);
}
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Hmm ja. Da hat sich wohl was in der Bibliothek geändert... :( Mit
gcc -pedantic -Wall -Werror -std=c99 -D_XOPEN_SOURCE -o printdir printdir.c
klappt es. Werd auch gleich nochmal eine Mail rausschicken.
flight
Mitglied seit 02/2012
3 Beiträge
Leider tritt die fehlerhafte Compilierung weiterhin auf (zumindest bei mir). :-(
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
ARG, man sollte es auf allen möglichen Systemen testen. Mit BSD_SOURCE gehts zumindest im CIP......
gcc -pedantic -Wall -Werror -std=c99 -D_BSD_SOURCE -o printdir printdir.c
Daniel H
Mitglied seit 04/2012
5 Beiträge
Hey,
ich versuch das printdir.c auf Windows mit "jEdit" zum laufen zu bekommen. Kate gibts ja leider nicht...
Habe schon im Internet gesucht, aber nichts brauchbares bzw etwas, das funktioniert, gefunden, um das Programm in der Konsole zu starten.
Wie macht man das?
Oder soll ich das über Putty auf einem PC in der FAU starten?
sicherha
Informatik-Veteran
Mitglied seit 10/2010
53 Beiträge
Die Kurzantwort: Unter Windows wirst du das Teil nicht ohne ein paar Verrenkungen zum Laufen bekommen. Klopf dir entweder auf die heimische Kiste ein Linux oder mach das Testen per SSH (PuTTY) in der Uni.

Hier eine etwas ausführlichere (wenngleich plakative) Erklärung.
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
stat müsst aber unter Windoof funktionieren.
ig26
Mitglied seit 05/2012
3 Beiträge
Wird die Aufgabe dann mit dem Befehl: "... -D_BSD_SOURCE ..." bewertet, oder nachwievor mit "... -D_POSIX_SOURCE..."?
Weil bei mir compilierts jetzt zumindest mit BSD, aber POSIX spuckt noch einen Fehler aus. Und noch eine warscheinlich blöde Frage: Wenn ichs zum Compilieren gebracht habe, was muss ich eingeben, damit das Programm auch ausgeführt wird?
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Abgabe: Es wird so übersetzt, dass sowohl stat, als auch lstat verwendet werden kann.
Ausführen: ./printdir
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen