Directory uitlezen in C

Pagina: 1
Acties:

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Hallo,

Ik maak een programmaatje dat bij foto's webpagina's maakt. (met op elke pagina één foto). Nu werkt het al, maar de foto's moeten nu een vaste bestandsnaam hebben (01.jpg, 02.jpg, 03.jpg etc.) Ik zou graag ook van foto's met een andere naam een pagina willen maken (zonder alle foto's eerst te renamen dus). Maar ik heb geen idee hoe ik in C de inhoud van een directory kan lezen. Iedereen aan wie ik het vraag zegt dat het wel mogelijk is, maar niemand weet hoe het moet en een zoekactie op internet heeft ook niets opgeleverd. Hebben jullie enig idee? Ik ben helemaal niet goed in C, dus probeer je antwoord alsjeblieft een beetje makkelijk te houden.

Alvast bedankt.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 04-09 14:38

curry684

left part of the evil twins

Daar directories/filesystems nogal platformspecifiek zijn zou ik als ik jou was ff het platform posten waarop je dit aan het maken bent.

Voor Win32: FindFirstFile, FindNextFile en FindClose.

Professionele website nodig?


  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Voor DOS: findfirst(), findnext() of _dos_findfirst(), _dos_findnext()

[edit]

Voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <dir.h>

void main()
{
    int ffreturn = 0;
    ffblk ffresults;

    if (findfirst("c:\\*.*", &ffresults, FA_ARCH))
    {
        cout << "Geen bestanden in c:\\*.*" << endl;
        return;
    }

    while (!ffreturn)
    {
        cout << ffresults.ff_name << endl;

        ffreturn = findnext(&ffresults);
    }
}

Leest alle bestanden uit in directory c:\ maar je kunt de mask natuurlijk veranderen...

[edit]
Typo...

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Verwijderd

[topic=202093/1/25]

Daar staat een voorbeeldje van de win32 methode (die curry ook al noemde)....

Deze copieerde alle bestandjes in p:\ ergens anders naartoe, verander copy(..., ...) in iets anders en je bent klaar :D

  • Hark
  • Registratie: Februari 2001
  • Laatst online: 08-07-2025
Het is voor Windows maar ik wilde ook een Linux versie maken... Maar als dat te lastig is houd ik het wel bij de Windows versie (die Linux versie komt dan later nog wel eens).

In elk geval bedankt voor de antwoorden.