Minä tarvitsisin koodia kaikkien .trk-päätteisen tiedostojen näyttämiseen siinä hakemistossa missä ohjelmakin ajetaan. Tarvitsen sitä Allegrolla toteutetun pelin alkuvalikkoon. Kyseessä on siis C eikä C++!
Seuraava esimerkki tulostaa kaikki trk-pääteiset tiedostot.
long handle;
struct _finddata_t fileinfo;
int i;
int max=1000;
handle=_findfirst("*.trk", &fileinfo);
if (handle==-1L ) return FALSE; //Yhtään tiedostoa ei löytynyt
printf(fileinfo.name);
printf("\n");
for (i=0; i<max; i++)
{
if (_findnext(handle, &fileinfo)==0)
{
printf(fileinfo.name);
printf("\n");
}
else
{
break;
}
}
_findclose(handle);
return TRUE;Ainkaan minun DJGPP:lläni ei ole noita rakenteita (_finddata_t), vaan ffblk. Muistaakseni Allegro on tehty sitä kääntäjää varten.
Seuraava esim toimii Djgpp:ssä
#include <dir.h>
int main(int argn, char ** argc){
struct ffblk etsi;
int a;
//viimeinen luku sis. attribuutit; katso rhide:n help
a = findfirst("*.trk", &etsi, 0);
while(a == 0){
printf("%s\n\r",etsi.ff_name);
a = findnext(&etsi);
}
return 0;
}Joo, kyllä minulla DJGPP on ja kiitos koodista!
Aihe on jo aika vanha, joten et voi enää vastata siihen.