visual C++ non mi vede <dirent.h> e quindi non riesco a compilare
vorrei usare opendir, readdir, closedir ..qualcuno mi sa dire qual'è il problema?
grazie
visual C++ non mi vede <dirent.h> e quindi non riesco a compilare
vorrei usare opendir, readdir, closedir ..qualcuno mi sa dire qual'è il problema?
grazie
Queste funzioni fanno parte dello standard POSIX. Il VC++ non le ha, sorry.Originariamente inviato da lechuck
visual C++ non mi vede <dirent.h> e quindi non riesco a compilare
vorrei usare opendir, readdir, closedir ..qualcuno mi sa dire qual'è il problema?
Se vuoi, usa le API Win32.
scusa ma sono ignorante ancora..
potresti spiegarti meglio grazie..!
Ecco un semplice esempio:
Stampa i file/directory presenti in C:\WINNT (su XP dovrebbe essere C:\WINDOWS).codice:#define STRICT #include <windows.h> #include <stdio.h> int main (void) { HANDLE hFind; WIN32_FIND_DATA wfd; BOOL bRet; hFind = FindFirstFile ("C:\\WINNT\\*", &wfd); bRet = hFind != INVALID_HANDLE_VALUE; while (bRet) { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) printf ("<DIR> %s\n", wfd.cFileName); else printf (" %s\n", wfd.cFileName); bRet = FindNextFile (hFind, &wfd); } if (hFind != INVALID_HANDLE_VALUE) FindClose (hFind); return 0; }
Cosa significa?codice:bRet = hFind != INVALID_HANDLE_VALUE;
bRet è uguale a hFind che è diverso da INVALID_HANDLE_VALUE???
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
bret è uguale al risultato di (hFind != INVALID_HANDLE_VALUE); ovviamente bret sarà o true (hFind è diverso da INVALID_HANDLE_VALUE) o false (hFind è uguale a INVALID_HANDLE_VALUE). In sostanza, bret è true quando la ricerca è andata bene.
Amaro C++, il gusto pieno dell'undefined behavior.
Per capirlo meglio, si puo' scrivereOriginariamente inviato da XWolverineX
Cosa significa?codice:bRet = hFind != INVALID_HANDLE_VALUE;
bRet è uguale a hFind che è diverso da INVALID_HANDLE_VALUE???
bRet = (hFind != INVALID_HANDLE_VALUE);
ovvero
if (hFind != INVALID_HANDLE_VALUE)
bRet=true;
else
bRet=false;