Hi,
Napisałem algorytm, który wyszukuje pliki *.bmp w jednym z podfolderów Moje dokumenty;
[code]
#include <windows.h>
#include <stdio.h>
#include <shlobj.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int)
{
char *list[50];
int i = 0;
char path[200];
LPITEMIDLIST pidl;
WIN32_FIND_DATA wfd;
HANDLE hFile = NULL;;
BOOL IsFile = TRUE;
SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl);
SHGetPathFromIDList(pidl, path);
strcat(path, "\\Szczecin - Wygaszacz ekranu");
SetCurrentDirectory(path);
if((hFile = FindFirstFile("*.bmp", &wfd)) != NULL)
{
while(IsFile)
{
GetFullPathName(wfd.cFileName, 199, path, NULL);
list[i] = path
IsFile = FindNextFile(hFile, &wfd);
i++;
}
}
return 0;
}
[/code]
Kiedy sprawdzam co jest w list okazuje się, że cała jest wypełniona ścieżką dostępu do ostatniego wyszukanego pliku. Po dłuuuuuuugim ;) namyśle doszedłem do wniosku, że przecież list jest wypełniana wskaźnikiem do path, który ciągle się zmienia! więc spróbowałem:
zamiast
[code]list[i] = path;[/code]
to
[code]strcpy(list[i], path);[/code]
ale to też nie działa - przy uruchamianiu wyskakuje błąd. Moźe macie pomysł na rozwiązanie tego problemu?