Krenuo sam ja malo WinAPI,pa sam naletio na ovaj primjer,ne znam zasto
ali mi ne radi ova linija koda:
Code:
int l = (int)dir.size();
A ne cudi me sto ne radi jel ipak dir je tipa char a ne string pa se sa njime
ne moze pozvat funkcija size(),zato sam ja napisao ovako:
Code:
#include <windows.h>
#include <vector>
#include <iostream>
#include <stdlib.h>
using namespace std;
bool FindFiles(const char* dir, const char* ext, vector<string>& ret)
{ WIN32_FIND_DATA FileData;
HANDLE hSearch;
BOOL fFinished = FALSE;
ret.clear();
string target = dir;
int l = target.size();
if ((dir[l-1] != '\\') || (dir[l-1] != '/')) dir += '/';
target = target + ext;
hSearch = FindFirstFile(target.c_str(), &FileData);
if (hSearch == INVALID_HANDLE_VALUE)
return false;
while (!fFinished)
{
if (!(FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{ret.push_back(FileData.cFileName);}
if (!FindNextFile(hSearch, &FileData))
fFinished = TRUE;
}
FindClose(hSearch);
return true;
}
int main()
{
vector<string> spisak;
FindFiles("c:/windows/system32","*.dll", spisak);
for(int i=0;i<spisak.size();i++)
cout<<"Spisak od"<<i<<"je"<<spisak[i]<<"\n";
system("PAUSE");
}
Mislim da je sve ok,ali se nista ne ispisuje,stovise cini mi se da program
ne ulazu uopce u petlju kad je se pozove,ako neko zna sta je problem
neka pls kaze,hvala..