Witam potrzebuje pomocy wydziergałem coś takiego w C no i jak wiekszosć moich programów nie działa drukują sie krzaki, może ktoś kto programuje w WinApi pomoże . Proszę
Funkcja drukująca pliki i foldery, po podaniu ścieżki do jakiegoś katalogu . zawraca tablice z plikami(ścieżkę dostępu do pliku):
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define PATHSIZE 256
#define MAXFILES 1024
char *filesTab[MAXFILES]; //tablica z plikami
unsigned short iFiles=0; //ilość plików w tablicy
void pliki(char *path);
int main(void)
{
int i;
pliki("C:\\data1\\DniSwiateczne\\*.*");
//tutaj obsługa plików z tablicy "filesTab", "iFiles" - ilość plików
system("PAUSE");
return 0;
}
void pliki(char *path)
{
HANDLE hFind;
BOOL bContinue = TRUE;
WIN32_FIND_DATA data;
int a;
hFind = FindFirstFile(path, &data);
while (hFind && bContinue)
{
if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(strcmp(data.cFileName,".") && strcmp(data.cFileName,"..")) //jeżeli nie są to foldery '.' i '..' (wyższe foldery)
{
char newPath[PATHSIZE];
strcpy(newPath, data.cFileName);
strcat(newPath, "\\*.*");
strncpy(newPath,path, strlen(path)-3);
puts(newPath);
}
}
else
{
filesTab[iFiles] =(char*)malloc(sizeof(char)*(strlen(path)-3+strlen(data.cFileName)+2));
strncpy(filesTab[iFiles], path, strlen(path)-3);
filesTab[iFiles][strlen(path)-3]=NULL;
strcat(filesTab[iFiles], data.cFileName);
printf("%s\n", filesTab[iFiles]);
iFiles++;
}
bContinue = FindNextFile(hFind, &data);
}
FindClose(hFind);
}