WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   angewandter Unterricht (http://www.wcm.at/forum/showthread.php?t=49528)

kikakater 13.03.2002 05:00

angewandter Unterricht
 
angewandter Unterricht


Angabe

Es soll ein Dateisystemverzeichnis in einem zu schaffenden Speicherbereich gespeichert werden.



Wie muß der Name der C Funktion lauten, die diese Anforderung ausfüllt ?


1) dir_list ( ... )

2) ReadDirectory ( ... )

3) CreateDirectory ( ... )

4) ReadDir ( ... )

5) CreateDir ( ... )

6) SaveCatalog ( ... )



Welchen Vorschlag mit Begründung kann man hier machen ?

pong 13.03.2002 07:25

warum willst unbedingt c funktionen? ich mein a einfaches system(..); täts doch auch, oder nicht?

kikakater 13.03.2002 10:06

@pong: Es geht um das Durchackern von Dateinamen und Unterverzeichnissen unter Zuhilfenahme der Bibliotheksfunktionen FindFirstFile und FindNextFile und dem Ablegen der Datei- bzw. der Verzeichnisattribute im Speicher innerhalb eines (selbst zu schreibenden) Computerprogramms.

Ein system-Aufruf mit welchem Programm ? Immerhin übergebe ich bei system( ... ) die Kontrolle an das Betriebssystem um einen Befehl durch die Übergabe einer Zeichenkette (=es handelt sich also um eine Befehlszeile, = Befehl + Argumente) ???


FindFirstFile

Schleifenanfang:
falls kein Eintrag mehr vorhanden ist wird die Schleife beendet
falls der Name . oder .. ist continue Befehl in C
Speichern des Verzeichniselements
FindNextFile, nächster Schleifendurchgang


Im Speicher vorhandene 1:1 Verzeichnisliste, eventuell um . und .. gefiltert ...

Mit der gespeicherten Liste kann man jetzt alles mögliche machen, Sortieren, Kopieren, Bewegen, Drucken, Löschen, usw.

Wie muß die entsprechende C-Funktion, die das durchführt (das Speichern der Verzeichnisliste), am besten heißen ?

JosefS 13.03.2002 12:12

ich würd mal auf 6 tippen ;-)
6 ist immer gut :D

da's ja im endefekt ein katalog über verzeichniseinträge ist, den man anlegt, passt SaveCatalog am besten, würde es aber eher AddDirlistItem oder so nennen.

kikakater 13.03.2002 14:11

SaveCatalog würde ich nicht verwenden, weil es viel zu sehr abschließenden Charakter hat, die Bedeutung dieses Funktionsnamens. Das kommt mehr an eine Prozedur heran als an eine zusammensteckbare Kupplung.

Ich sage es gleich dazu, CreateDir/ectory ist es auch nicht, weil davon auszugehen ist, daß hier irgendetwas erzeugt - zumindest jedoch optional erzeugt - wird.

Insofern kann es nur mehr 1, 2, oder 4 sein ...

Was scheint die Funktion(alität) gedanklich am besten zu unterstützen ?

Das ist alles subjektiv, trotzdem kann man durchaus objektiv eine Stellungnahme abgeben, die standhält.

Kikakater

_m3 13.03.2002 15:06

7) FetchDirectoryTree :D

Allein beim "Wie muß der Name der C Funktion lauten," krieg ich schon Magenkrämpfe - "müssen" muss man sterben. Meine Funktionen benenn ich wie ich bzw. meine Firma das will, mit oder ohne ungarischer Notation und sonstigem Klimbim - eindeutig, konsistent und verständlich soll die Bebennung sein!

"Muß" - PAH!:ms:

batigol1860 13.03.2002 15:19

Nicht wirklich böse gemeint:

Es heisst ja immer, es gibt keine blöden Fragen. Hier bestätigt einmal wieder die Ausnahme die Regel. :D

Grüße
Bernie

zend 13.03.2002 15:25

vorallem muß ist alte Rechtschreibung :p

kikakater 13.03.2002 15:28

@_m3: Erstens gibt's keine siebente Möglichkeit und zweitens fangst Du Dir keinen Baum ein sondern liest ein Verzeichnis als einfachen eindimensionalen Listenstrang.

@...60: Einfacher kann man es sich wirklich nicht mehr machen als zu lästern, anstatt eine Möglichkeit auswählen und zu begründen.

_m3 13.03.2002 15:40

Du meinst also etwas in der Form des Perl-Dreizeilers :D ;):
Code:

opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!";
@files = grep { -f "$some_dir/$_" } readdir(DIR);
closedir DIR;

Laut Angabe handelt es sich um ein "Dateisystemverzeichnis" - es steht nirgends, ob ich nun rekursiv hineinwandere oder nicht, also kann ich es auch als Baum betrachten, wodurch (7) passt - oder wir schreiben die Angabe genauer.

Wenn man die durch die Posting erweiterte Angabe betrachtet, würde ich zu 2 oder 4 tendieren, da ja ein Verzeichnis ausgelesen wird. "dir_list" würde ich eher als Objektbez. durchgehen lassen, die Funktion würde ich get_dir_list() nennen.

Hab ich schon erwähnt dass ich auch ungenaue Angaben, vor allem in der Informatik, hasse?!


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag