[C++] dir functie

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 20-08 14:20
Topic titel misschien war raar, maar het gaat om het volgende.

De core van visual c++ maakt gebruikt van enkele file handler functies, zie hieronder:
File handlers

(en de low level I/O handlers (open, close)
low level I/O)

Nu is de vraag hoe doe ik een dir, dus ik wil alle dir's en files zien met een functie. Maar ik kan deze niet vinden. Zijn hier nog functies voor of hoe gaat dat in zijn werk?

PS ik wil dus niet de visual C++ manier weten maar meer hoe je het in ansi c++ op kan lossen.

[ Voor 9% gewijzigd door elgringo op 11-03-2003 11:48 ]

if broken it is, fix it you should


  • Unicorn
  • Registratie: Maart 2000
  • Laatst online: 29-04-2024

Unicorn

rogue soeper

Op boost.org hebben ze tientallen handige (en erg goed geimplementeerde) dingen staan, waaronder een directory iterator. Misschien is dat wat.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02

En wat wil je hiermee bereiken.
Als je niets bij te dragen hebt aan een topic, zeg dan niets.

https://fgheysels.github.io/


  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 20-08 08:46
weet niet of het onder vc++ werkt maar probeer eens readdir (mocht je een lin bakl in de buurt hebben met man pages try man readdir) je hebt dan ook opendir en closedir nodig

Strava | Runkeeper | Endomondo (mijn leikr uploads)


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 20-08 14:20
cybermans schreef op 11 March 2003 @ 11:56:
weet niet of het onder vc++ werkt maar probeer eens readdir (mocht je een lin bakl in de buurt hebben met man pages try man readdir) je hebt dan ook opendir en closedir nodig
nee wordt niet wat. Ik heb wel directory handlers gevonden (currentdrive, currentdir etc functies: Webpage )

Maar niet voor een dir

if broken it is, fix it you should


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

er is geen ANSI C++ manier om dirs in te lezen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 20-08 14:20
.oisyn schreef op 11 March 2003 @ 12:29:
er is geen ANSI C++ manier om dirs in te lezen
hoezo niet? is hier geen functie voor? zoals open, close, etc. ???

[ Voor 7% gewijzigd door elgringo op 11-03-2003 13:37 ]

if broken it is, fix it you should


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Er waren simpelweg teveel verschillende implementaties van directories op verschillende OSen. Daar kon je geen simpele C functie voor maken. Er was teveel tijdsdruk bij C++98 om ook directories toe te voegen, dus dat is uitgesteld tot de volgende C++. Daarom zit het nu in Boost.

PS. ANSI = American = onbelangrijk. ISO = International = geldt in Nederland. ISO C++ dus.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Filesystems zijn niet op een standaardmanier aan te spreken omdat er zoveel verschillende 'interpretaties' van bestaan. Denk hierbij aan de Shell namespace van Windows die zich niet in een directory laat vangen, of een filesystem gebaseerd op een platte DB.

Files bestaan in principe op ieder systeem in de een of andere vorm (embedded daargelaten), een hierarchische structuur om ze in op te bergen niet.

Professionele website nodig?


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 20-08 14:20
curry684 schreef op 11 March 2003 @ 14:12:
Filesystems zijn niet op een standaardmanier aan te spreken omdat er zoveel verschillende 'interpretaties' van bestaan. Denk hierbij aan de Shell namespace van Windows die zich niet in een directory laat vangen, of een filesystem gebaseerd op een platte DB.

Files bestaan in principe op ieder systeem in de een of andere vorm (embedded daargelaten), een hierarchische structuur om ze in op te bergen niet.
Het zijn windows based libs die ik gebruik, maar daar moet toch wel een functie dir in zitten?

En dan kom ik weer terug bij de orginele vraag: hoe implementeer ik dit dan? ik kan open en close doen, maar hiervoore moet ik de bestandsnaam weten (en wildcards zijn niet tegestaan..)

if broken it is, fix it you should


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 22-08 19:17
Nou: Je opend de root-dir. Die lees je uit (de file listing) en zo lees je steeds weer een dir uit. In linux, als je dan een map opend met een texteditor krijg je gewoon een file listing, in windows zou het wel vergelijkbaar zijn.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

elgringo schreef op 11 maart 2003 @ 15:21:
Het zijn windows based libs die ik gebruik, maar daar moet toch wel een functie dir in zitten?
MSDN Library Online.

Professionele website nodig?


Verwijderd

elgringo schreef op 11 maart 2003 @ 15:21:
[...]


Het zijn windows based libs die ik gebruik, maar daar moet toch wel een functie dir in zitten?

En dan kom ik weer terug bij de orginele vraag: hoe implementeer ik dit dan? ik kan open en close doen, maar hiervoore moet ik de bestandsnaam weten (en wildcards zijn niet tegestaan..)
Zoeken op findfirst en findnext...

Verwijderd

Een dir is 'gewoon' een file met een directory-attribuut.
gewoon door alle files itereren en bij degenen waarvan het dir-attr aanstaat recursief verder gaan.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

ParaDot schreef op 11 March 2003 @ 16:38:
Nou: Je opend de root-dir. Die lees je uit (de file listing) en zo lees je steeds weer een dir uit. In linux, als je dan een map opend met een texteditor krijg je gewoon een file listing, in windows zou het wel vergelijkbaar zijn.


in windows kun je geen directories openen
Verwijderd schreef op 12 March 2003 @ 10:54:
Een dir is 'gewoon' een file met een directory-attribuut.
gewoon door alle files itereren en bij degenen waarvan het dir-attr aanstaat recursief verder gaan.
het files itereren is zijn probleem nou juist, niet het bepalen of iets een dir is of niet

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 20-08 14:20
ParaDot schreef op 11 maart 2003 @ 16:38:
Nou: Je opend de root-dir. Die lees je uit (de file listing) en zo lees je steeds weer een dir uit. In linux, als je dan een map opend met een texteditor krijg je gewoon een file listing, in windows zou het wel vergelijkbaar zijn.
hoe het low level moet weet ik wel, gaat om de c++ methode hiervoor

if broken it is, fix it you should


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 20-08 14:20
hier staat ie niet in, daarom dit topic

if broken it is, fix it you should


  • Terence(x)
  • Registratie: September 2002
  • Laatst online: 18-08 11:24
Persoonlijk doe ik et altijd via een omweg met een snelle dos prompt command

batch file runnen (of cmd uitvoeren wat je liever heb)
c:
dir *.* /s >dir.txt

dan krijg je ne txt file met alle files op de C: schijf

zal niet zijn wat je precies zoekt maar dis wat ik doe....

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Lees de post van lennert2002!!

FindFirstFile () en FindNextFile ()
(of _findfirst () en _findnext ())

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Elgringo zoekt iets over directories onder Windows in MSDN:
elgringo schreef op 12 March 2003 @ 17:59:
[...]


hier staat ie niet in, daarom dit topic
_/-\o_ :D :Y) :z :*) :) O+

.modbreak: hou het wel normaal aub ;)

[ Voor 52% gewijzigd door .oisyn op 12-03-2003 22:50 ]

Professionele website nodig?


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Aan elgringo: het moge duidelijk zijn dat dit soort dingen echt WEL in de MSDN staan. En als jij beweert van niet dan kun je overduidelijk gewoon niet zoeken

Verder gaat het topic niet echt ergens meer over, je hebt nu genoeg tips gehad om het te bewerkstelligen

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.