🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #60350

drzewo katalogow/plikow

#60350
From: jbl4ck
Date: Sun, 06 Nov 2005 16:21
50 lines
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-mail

Show 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