Article View: pl.comp.os.linux.programowanie
Article #60350drzewo katalogow/plikow
From: jbl4ck
Date: Sun, 06 Nov 2005 16:21
Date: Sun, 06 Nov 2005 16:21
50 lines
2503 bytes
2503 bytes
Witam. Mam nastepujacy problem, otoz proboje napisac program ktory wyswietlil by mi na stdout'cie drzewo katalogow, w mniej wiecej takiej formie: /home |-- jbl4ck | |-- syfy | |-- kody | |-- program.c | |-- main.c | |-- open.pl | -- user2 | |-- plik.txt | |-- away.log chcialbym to zrobic przy pomocy funkcji readdir(). Wiem jak wysiwetlic zawartosc jednego katalogu i jak rozpoznac czy jest to katalog czy plik. Napisalem do tego funkcje, ale niewiem jak to zrobic aby gdy analizuje poprzez: /* * entry - structura dirent * dir - wskaznik do DIR */ while((entry = readdir(dir)) != NULL) i napotkam jakis katalog (rozpoznaje go w sposob taki sposob ze jezeli entry->d_type == 4 to wtedy mamy do czynienia z katalogiem ;) to wysiwetlic co znajduje sie w tym katalogu, i gdy w tym katalogu sa/jets jakis katalog(i) to zrobic w ich wypadku to samo. Chodi mi poprsotu jak wyswietlic takie drzewo katalogow, forma z tymi "|" to tak tylko zeby bylo wiadomo o co chodzi :P ja probowalem to zrobic korzystajac z rekurencji, tzn. caly czas wracac do tej funkcji, ale nietrybilo mi ot tka jak chcialem. podejzewam ze blad byl w tym ze gdy znowusz powracalem do funkcji z ktorej sie wywolalem to od poczatku program zaczynal analizowac zawartosc katalogu.... no ale coz... btw. uzywam linux'a kompilator gcc :) Pozdrawiam.
Technical Details
Message-ID:
<1131294081.017167.147440@g49g2000cwa.googlegroups.com>Path:
mbox-mo1.pugleaf.net!number1.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!g49g2000cwa.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!number1.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!g49g2000cwa.googlegroups.com!not-for-mail From: jbl4ck@gmail.com Newsgroups: pl.comp.os.linux.programowanie Subject: drzewo katalogow/plikow Date: 6 Nov 2005 08:21:21 -0800 Organization: http://groups.google.com Lines: 51 Message-ID: <1131294081.017167.147440@g49g2000cwa.googlegroups.com> NNTP-Posting-Host: 83.19.68.186 Mime-Version: 1.0 X-Trace: posting.google.com 1131294086 20627 127.0.0.1 (6 Nov 2005 16:21:26 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sun, 6 Nov 2005 16:21:26 +0000 (UTC) User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 8.5,gzip(gfe),gzip(gfe) X-HTTP-Via: 1.1 adv195.internetdsl.tpnet.pl:3128 (squid/2.5.STABLE10) Complaints-To: groups-abuse@google.com Injection-Info: g49g2000cwa.googlegroups.com; posting-host=83.19.68.186; posting-account=HsIR4A0AAAC6dtX_ZmhjUypTZR8T5syr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit