C - Unterverzeichnisse auflisten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

C - Unterverzeichnisse auflisten

Beitrag von gora » 17.02.2006 12:26:22

Hallo,

Ich würde mit dem gcc gerne alle Unterverzeichnisse eines Ordner auslisten lassen in einer Schleife. Wie geht das in C?

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 17.02.2006 13:15:49

Dazu gibts die Funktionen opendir und readdir. Opendir gibt dir einen DIR* zurück und readdir einen dirent* und in der dirent-Struktur hast du dann jeweils den Namen deines Unterordners.

Details stehen in den manpages (man opendir, man readdir - jeweils im Paket manpages-de-dev auf deutsch)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Beitrag von gora » 18.02.2006 12:50:51

Aja, danke schön.

Aber nun habe ich das Problem, dass ich gerne aus /proc/bus/usb/* die productID und vendorID auslesen müsste, da ich nach einem speziellen ID-Paar suche.
Nur wie?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 18.02.2006 13:10:55

"/sys/bus/usb/devices/usb..." wäre evt. eine Alternative.
Beware of programmers who carry screwdrivers.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 18.02.2006 15:01:34

gora hat geschrieben:Aja, danke schön.

Aber nun habe ich das Problem, dass ich gerne aus /proc/bus/usb/* die productID und vendorID auslesen müsste, da ich nach einem speziellen ID-Paar suche.
Nur wie?
Hats dort nicht bei mir; sind das Dateien? Dann kannst du ganz normal fopen benutzen.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Beitrag von gora » 18.02.2006 15:41:21

Naja, aber wenn ich mir den inhalt ausgeben lasse mit "04x", steht immer das gleiche drinnen...

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 19.02.2006 00:27:38

Wenn du nur Product und VendorId brauchst, dann sollte auch libusb ausreichen.

Du meinst /proc/bus/usb/devices?
Das sollte sich - wie schon erwähnt - mit fopen öffnen und anschließend parsen lassen.
MfG GoKi
:wq

Antworten