Not logged in. · Lost password · Register

flight
Member since Feb 2012
3 posts
Subject: 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)
Member since May 2011
331 posts
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
Member since Feb 2012
3 posts
Leider tritt die fehlerhafte Compilierung weiterhin auf (zumindest bei mir). :-(
morty
SPiC-Meister
(Moderator)
Member since May 2011
331 posts
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
Member since Apr 2012
5 posts
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
Member since Oct 2010
53 posts
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)
Member since May 2011
331 posts
stat müsst aber unter Windoof funktionieren.
ig26
Member since May 2012
3 posts
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)
Member since May 2011
331 posts
Abgabe: Es wird so übersetzt, dass sowohl stat, als auch lstat verwendet werden kann.
Ausführen: ./printdir
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Special characters:
Go to forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen