Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
Windows API Programlama

SDL3 Oyun Programlama sayfalarımız yayında...

Ana page > Programlama > Windows API Programlama > WinAPI örnek kodlar > winapi_list_files_dirs

Windows API örnek kodlar

Bir dizin içindeki tüm dosya ve dizinleri listeleme

Bir Windows API programında, bir dizin içindeki tüm dosya ve dizinleri listeleyebiliriz.

Programda yer alacak main.c dosya içeriği aşağıdaki şekilde olacaktır:

main.c


#include <windows.h>
#include <stdio.h>

void list_files_dirs(const char *path);

int main(void) {
    const char *directoryPath = "C:\\dizinadi";
    list_files_dirs(directoryPath);

    getchar();

    return 0;
}

void list_files_dirs(const char *path)
{
    WIN32_FIND_DATA findFileData;
    HANDLE hFind;

    char searchPath[MAX_PATH];
    snprintf(searchPath, sizeof(searchPath), "%s\\*", path);

    hFind = FindFirstFile(searchPath, &findFileData);

    if(hFind == INVALID_HANDLE_VALUE) {
       printf("Dizin bulunamadı: %s\n", path);
       return;
    }

    do {
       const char *name = findFileData.cFileName;
       if(strcmp(name, ".") != 0 && strcmp(name, "..") != 0) {
          if(findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
             printf("[Dizin] %s\n", name);
          }
          else {
             printf("[Dosya] %s\n", name);
          }
       }
    } while (FindNextFile(hFind, &findFileData) != 0);

    FindClose(hFind);
}