Explorador de archivos con c++

En esta entrada voy a mostrar la manera de ver el contenido de una carpeta o buscar algún archivo usando c++.

#include<windows.h>
#include<iostream>

using namespace std;

int main()
{
    WIN32_FIND_DATA FindFileData;
    HANDLE hFind;
    hFind = FindFirstFile("C:\\*", &FindFileData);

    if (hFind == INVALID_HANDLE_VALUE)
    {
        cout << "FindFirstFile failed: " << GetLastError() << endl;
        return 1;
    }

    do cout << FindFileData.cFileName << endl;
    while (FindNextFile(hFind, &FindFileData));

    FindClose(hFind);
    return 0;
}

Como se puede ver, hace uso de las funciones FindNextFile() y FindFirstFile() y de la estructura WIN32_FIND_DATA(). El primer parámetro de FindFirstFile() puede ser el nombre de un archivo o directorio y pueden usarse los caracteres '*' y '?'

Comentarios

  1. hay que aclarar que segun la ruta de directorios anidados, se deberá colocar siempre en cada nivel doble barra '\\' ejemplo:

    FindFirstFile("C:\\MinGW\\codigos\\imagenes\\300.jpg", &FindFileData);

    300.jpg viene siendo el archivo de imagen que deseo encontrar, observen las dobles barras invertidas entre niveles de directorios.

    ResponderEliminar
  2. solo basta decir que hay que poner dobles barras invertidas entre niveles de directorios:

    FindFirstFile("C:\\MinGW\\codigos\\imagenes\\300.jpg", &FindFileData);

    al final de la ruta se puede poner el nombre de algun archivo con alguna extension válida.

    ResponderEliminar

Publicar un comentario