---
title: "Lista filer i en katalog"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/53597-lista-filer-i-en-katalog"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "SDCd"
published: "2002-09-18T09:04:18.000Z"
updated: "2002-09-19T17:57:13.000Z"
replies: 5
views: 290
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/53597-lista-filer-i-en-katalog"
---

# Lista filer i en katalog

## #1 — SDCd, 2002-09-18T09:04Z

Att öppna/skriva till filer är inte så krångligt, men hur går jag tillväga om jag skulle tex vilja visa alla filer i en katalog/directory?
Någon som har några tips eller länkar till kodexempel/tutorials i ämnet?
Finns det nåt standardsätt? Om inte, hur ser det ut i Linux resp. Windows?

Permalänk: https://www.webforum.nu/p/53597

## #2 — Sang-drax, 2002-09-19T09:45Z

Linux : system("ls");
Win   : system("dir");

Permalänk: https://www.webforum.nu/p/789132

## #3 — Fridolf, 2002-09-19T10:23Z

Om du vill spara namnen på alla filer och kataloger i nån lista kan du göra på ungefär detta sätt i windows:

```
#include <direct.h>

WIN32_FIND_DATA data;
char *katalog = "c:/blabla";
vector<std::string> kataloger;
vector<std::string> filer;

HANDLE h = FindFirstFile(katalog, &data);
if (h == INVALID_HANDLE_VALUE)
  // felmeddelande
else {
if ((data.dwFileAttributes | FILE_ATTRIBUTE_DIRECTORY) == data.dwFileAttributes)
  kataloger.push_back(data.cFileName);
else filer.push_back(data.cFileName);
while (FindNextFile(h, &data) == TRUE) {
  if ((data.dwFileAttributes | FILE_ATTRIBUTE_DIRECTORY) == data.dwFileAttributes)
    kataloger.push_back(data.cFileName);
  else
    filer.push_back(data.cFileName);
}
```

Permalänk: https://www.webforum.nu/p/789152

## #4 — SDCd, 2002-09-19T10:35Z

Tack!

Permalänk: https://www.webforum.nu/p/789160

## #5 — Marcus E, 2002-09-19T14:18Z

Använder du do slipper du att upprepa kod.

```
if (h == INVALID_HANDLE_VALUE)
  // felmeddelande
else
{
  do
  {
    if ((data.dwFileAttributes | FILE_ATTRIBUTE_DIRECTORY) == data.dwFileAttributes)
      kataloger.push_back(data.cFileName);
    else
      filer.push_back(data.cFileName);
  } while (FindNextFile(h, &data) == TRUE);
}
```

Permalänk: https://www.webforum.nu/p/789348

## #6 — SDCd, 2002-09-19T17:57Z

Kort och koncist = snyggt :)

Permalänk: https://www.webforum.nu/p/789605

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/53597-lista-filer-i-en-katalog
