Miten saisin tiedostot listattua. Pitäisi myös saada valittua se hakemisto josta tiedostot listataan. Mitään System(); pasketta en sitten suostu käyttämään.
Käytä ffblk-rakennetta ja findfirst/findnext-funktioita. Seuraava esimerkki poistaa kaikki MAP-päätteiset tiedostot alihakemistosta DATA (copy-paste erkki saaressa). Pienellä muokkauksella saat sen tekemään mitä halusit. Löytyy dir.h:sta.
#include <dir.h> *** koodia *** struct ffblk tiedosto; int a; //Haetaan ensimmäinen tiedosto. findfirst palauttaa 0, mikäli //tiedosto(ja) löytyi. tiedosto-rakenteessen talletetaan jatko-ohjeet //ja findnext sitten jatkaa... a = findfirst("DATA\\*.MAP", &tiedosto); while(a==0){ remove(tiedosto.ff_name); //Poistetaan tiedosto a = findnext(&tiedosto); //Haetaan seuraava } *** koodia ***
Eli tiedoston nimi on ffblk::ff_name-nimisessä paikassa. Voit katsella koko rakennetta tutkimalla dir.h:n rakennemäärittelyä.
EDIT - typo.
EDIT2 - otsikon perusteella luulin tarkoitettavan C:tä, en C++ Win-ympäristössä :P
Ei taida VC++ tukea dir.h:ta mutta sain sain mutta sain irkissä vinkin että käytä WINAPIN FindFirstFileä ja sillä sain toimimaan.
VC++:n helppi tietää, että "Required Header: <io.h>"
Ja myös Putkan hakua kannattaa käyttää, esim. "FindFirstFile"-hakusanalla olisi löytynyt https://www.ohjelmointiputka.net/keskustelu/5247-oma-funktio
Niinhän minä käytinkin. :o En vain tiennyt tuota FindFirstFileä
Aihe on jo aika vanha, joten et voi enää vastata siihen.