Microsoft Visual Studio: opendir () y readdir (), ¿cómo?

He usado este tipo de código en mi Dev-cpp antes:

if((dh = opendir(folder)) !== false){ while((file = readdir(dh)) !== false){ // do my stuff } closedir(dh); } 

Pero ahora estoy usando MSVC ++ y no sé cómo agregar esos archivos allí, intenté copiar dirent.h / dir.h / errno.h allí, pero da otro error relacionado con otros archivos incluidos dentro de esos archivos. ., y al mirar en los archivos, veo algo de mingw allí, ¿está relacionado su comstackdor? ¿Qué tipo de comstackdor utiliza MSVC ++, pero es posible copiar esos archivos en MSVC ++ y ponerlo en funcionamiento?

Traté de buscar algún código de MSDN pero estaba realmente en mal estado, así que espero poder usar estas funciones arriba …

Sugeriría utilizar FindFirstFile () y FindNextFile () .

Aquí está el ejemplo de MSDN que hace exactamente lo que quiere.

Si necesita una sustitución inmediata, también puede usar:

http://www.two-sdg.demon.co.uk/curbralan/code/dirent/dirent.html

Clase simple que encontré que usa la API POSIX para Win32

Genial, no fue tan difícil después de todo, tuve que usar do-while loop aunque:

 HANDLE hFind; WIN32_FIND_DATA FindFileData; if((hFind = FindFirstFile("C:/some/folder/*.txt", &FindFileData)) != INVALID_HANDLE_VALUE){ do{ printf("%s\n", FindFileData.cFileName); }while(FindNextFile(hFind, &FindFileData)); FindClose(hFind); } 

Esto realmente es mejor, porque puedo usar “* .txt”, etc., hace que sea mucho más fácil encontrar algunos tipos de archivos específicos, antes tenía que escribir la función propia para eso: D

La respuesta a esta pregunta depende mucho de la plataforma objective para la que está comstackndo.

MSVC ++ es un comstackdor, así que supongo que está intentando realizar acciones similares como opendir () y readdir () en una plataforma de Windows. En ese caso, eche un vistazo a los siguientes recursos:

  • Enumeración de archivos en un directorio en Visual C ++
  • Funciones de administración de archivos Win32

El segundo enlace es una página de MSDN que enumera todas las funciones disponibles en la plataforma API de Windows para interactuar con el sistema de archivos. Encontrará que la mayoría de las operaciones con archivos en Windows comienzan con una llamada a la función CreateFile .

Otro reemplazo reemplazante posiblemente mucho mejor: https://github.com/tronkko/dirent

    Intereting Posts