12. december 2003 - 08:43
Der er
8 kommentarer og 2 løsninger
finde alle filer i en mappe
Jeg vil gerne have fat i navnene på alle filerne i en defineret mappe, er der en der ved hvordan jeg gør det?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
12. december 2003 - 08:45
#1
Win32 eller Linux ?
12. december 2003 - 08:46
#2
På Windows med: FindFirstFile og FindNextFile Vil du have et eksempel ?
12. december 2003 - 08:46
#3
Win32 eks.: #include <stdio.h> #include <windows.h> int main() { WIN32_FIND_DATA data; HANDLE h = FindFirstFile("*.c",&data); if(h!=NULL) { printf("%s %d %d\n",data.cFileName,data.nFileSizeHigh,data.nFileSizeLow); while(FindNextFile(h,&data)) { printf("%s %d %d\n",data.cFileName,data.nFileSizeHigh,data.nFileSizeLow); } } FindClose(h); return 0; }
12. december 2003 - 08:47
#4
Linux eks: #include <dirent.h> #include <sys/stat.h> #define DIRSEP "/" #define TESTDIR "/home/arne" void process(char *path) { DIR *dirp; struct dirent *entp; struct stat stbuf; char fnm[256]; dirp = opendir(path); while((entp = readdir(dirp)) != NULL) { if(entp->d_name[0]!='.') { sprintf(fnm,"%s%s%s",path,DIRSEP,entp->d_name); stat(fnm,&stbuf); if(!S_ISDIR(stbuf.st_mode)) { printf("%s %d\n",fnm,stbuf.st_size); } else { process(fnm); } } } closedir(dirp); return; } int main() { process(TESTDIR); return 0; }
12. december 2003 - 08:48
#5
Win32 eks. er ikke rekursivt. Linux eks. er rekursivt. Det var lige hvad jeg havde på lager.
12. december 2003 - 08:51
#6
win32, og tak! Points kræver svar:-)
12. december 2003 - 09:06
#7
kom nu arne, ... et svar.
12. december 2003 - 09:07
#8
også du soreno, du har jo også svaret.
12. december 2003 - 09:19
#9
Ok, hvis du synes.
12. december 2003 - 09:55
#10
svar
Kurser inden for grundlæggende programmering