Muchas gracias por la info y por la onda!!!
On 8 oct, 16:05, Matías Dumrauf <
matias.dumr...@gmail.com> wrote:
> Exacto. De echo, lo que se hace en Windows es utilizar un HANDLE que es un
> puntero al primer *elemento* del directorio que se quiere revisar, y un
> LPWIN32_FIND_DATAA para iterar elemento por elemento.
>
> Lo que se hace entonces es recorrer ese directorio, cargando la estructura
> LPWIN32_FIND_DATAA con el elemento iterado. Luego se consultan sus atributos
> (por si es un archivo u otro directorio) y se hace algo en consecuencia (ej.
> obtenerle el hash, detalles como nombre, tamaño, timestamp, etc.)
>
> Un ejemplo en código:
>
> LPWIN32_FIND_DATAA file;
> HANDLE handleFind;
> char *path = *"./*"
>
> * file = (LPWIN32_FIND_DATAA) malloc(sizeof(WIN32_FIND_DATAA));
>
> handleFind = FindFirstFileA((LPCSTR)directory,file);
>
> if (handleFind == INVALID_HANDLE_VALUE) {
> ree(file);
> return -1;
> }
>
> do{
> if(file->dwFileAttributes != 33){
> if (file->dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY) {
> * // Hacer algo con el file.*
> }
> }
> free(file);
> file = (LPWIN32_FIND_DATAA) malloc(sizeof(WIN32_FIND_DATAA));
> }while(FindNextFileA(handleFind,file));
>
> if (GetLastError() != ERROR_NO_MORE_FILES){
> free(file);
> return -1;
> }
> free(file);
> FindClose(handleFind);
>
> *Más info*:
> <
facundo.m.vi...@gmail.com>escribió:
>
> > Buenas Luciano, lo que vos preguntas no se puede XD
>
> > Lo que podes haces es listar los archivos de un directorio, a lo cual poder
> > revisar uno x uno cual es su extensión y saber si lo tenes que leer o no. De
> > hecho lo mas probable es que el comando que estas ejecutando haga justamente
> > esto y use el * como un comodín para la búsqueda.
>
> > Saludos!
>
> > El 8 de octubre de 2010 13:00, Luciano Dzisiuk <
dzisiukluci...@gmail.com>escribió:
>
> > Buenas buenas!
> >> Queria saber si existe una forma para abrir un archivo sin saber su
> >> nombre pero si su extensión (por ejemplo .txt).
> >> Intenté con :
>
> >> char* pathArchivo= "..\\carpetaConTXT\\*.txt";
>
> >> ifstream myStream(pathArchivo);
>
> >> pero no pasa naranja, también intenté con el path absoluto (que no
> >> seria lo ideal).
>
> >> En el cmd si ejecuto "more ..\carpetaConTXT\*.txt" me muestra los txt
> >> que tenga ahí (windows).
>
> >> Y ya que estamos, queria saber si llegado el caso en que pueda
> >> levantar todos los .txt de esa carpeta, como me los organiza en el
> >> stream? me los separa o algo para identificar CUANTOS archivos habia?
>
> >> Muchísimas gracias!!!
>
> >> --
> >> Recibiste este mensaje porque estás suscrito al Grupo "C Talks".
> >> Si quieres publicar en este grupo, envía un mensaje de correo
> >> electrónico a
c-t...@googlegroups.com
> >> Para anular la suscripción a este grupo, envía un mensaje a
> >>
c-talks+u...@googlegroups.com<
c-talks%2Bunsu...@googlegroups.com>
> >> Para obtener más opciones, visita este grupo en
> >>
http://groups.google.com.ar/group/c-talks?hl=es.
>
> > --
> > Recibiste este mensaje porque estás suscrito al Grupo "C Talks".
> > Si quieres publicar en este grupo, envía un mensaje de correo
> > electrónico a
c-t...@googlegroups.com
> > Para anular la suscripción a este grupo, envía un mensaje a
> >
c-talks+u...@googlegroups.com<
c-talks%2Bunsu...@googlegroups.com>