Jag har lite problem. Jag skulle vilja ta reda på hur många filer som ligger i en speciell mapp och vad dessa filer heter. Någon som vet hur man gör det på enklaste sätt? Det borde finnas några speciella funktioner som gör detta. I Linux tror jag att man kan skriva DIR *mappen (eller nåt liknande) för att skapa en mapp. Det är ju inte alls svårt. Finns det något liknande för Windows? Jag kör WinXP. Tack för svaret! Jag sökte på de två funktionerna och hittade ett bra exempel på denna sida:Komma åt filer i mappar.
För den som undrar håller jag på med en tile-editor till ett spel. Då vore det väldigt bra att kunna lägga alla bilder jag använder i en mapp och säga till editorn att bilderna som jag använder för tillfället ligger i bilder-mappen, istället för att programmera och ladda alla bilder manuellt i koden. Då blir det så jobbigt varje gång jag ritar en ny bild.
//PeterSv: Komma åt filer i mappar.
http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_10195939.html
Och för den som är intresserad ändrade jag lite i det programmet och kom fram till följande:
#include <windows.h>
#include <iostream.h>
const char *Loc = "C:\\test/test2/";
const char *Skl = "*.txt"; // Search skeleton string.
const HANDLE InvHndVal = INVALID_HANDLE_VALUE;
WIN32_FIND_DATA FndInf; // Find information.
HANDLE FndHnd; // Find file handle.
BOOL FndFlg; // Was a file found?
char Pth[256];
int main()
{
int count = 0;
strcpy(Pth, Loc);
strcat(Pth, Skl);
FndHnd = FindFirstFile(Pth, &FndInf); // Try to find first file.
FndFlg = FndHnd != InvHndVal; // Set the found flag if find succeeded.
while (FndFlg) // While a file has be found.
{
FindFirstFile(Pth, &FndInf);
strcpy(Pth, Loc);
cout<<"Hittade en fil: " <<FndInf.cFileName <<"\n";
FndFlg = FindNextFile(FndHnd,&FndInf); // Try to find next file
count += 1;
}
cout<<"Hittade " <<count <<" stycken filer.\n";
FindClose(FndHnd);
return 0;
}
Detta program tittar efter textfiler i mappen C:\test\test2Om programmet hittar någon textfil skriver programmet ut vad den heter och till sist hur många textfiler som hittades.
Det kanske går att optimera på något sätt eller göra det enklare? Någon som vet?