Avatar billede susrn Nybegynder
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?
Avatar billede arne_v Ekspert
12. december 2003 - 08:45 #1
Win32 eller Linux ?
Avatar billede soreno Praktikant
12. december 2003 - 08:46 #2
På Windows med:
FindFirstFile og FindNextFile

Vil du have et eksempel ?
Avatar billede arne_v Ekspert
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;
}
Avatar billede arne_v Ekspert
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;
}
Avatar billede arne_v Ekspert
12. december 2003 - 08:48 #5
Win32 eks. er ikke rekursivt.  Linux eks. er rekursivt. Det var lige
hvad jeg havde på lager.
Avatar billede susrn Nybegynder
12. december 2003 - 08:51 #6
win32, og tak! Points kræver svar:-)
Avatar billede susrn Nybegynder
12. december 2003 - 09:06 #7
kom nu arne, ... et svar.
Avatar billede susrn Nybegynder
12. december 2003 - 09:07 #8
også du soreno, du har jo også svaret.
Avatar billede soreno Praktikant
12. december 2003 - 09:19 #9
Ok, hvis du synes.
Avatar billede arne_v Ekspert
12. december 2003 - 09:55 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester