C/Visual C - Buscar File en C

 
Vista:

Buscar File en C

Publicado por skaguitar (1 intervención) el 13/04/2007 03:07:44
un favorcito.. necesito saber como buscar un File que yo diga con alguna funcion en C , sea en linux o en windoiws
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Buscar File en C

Publicado por Nelek (816 intervenciones) el 13/04/2007 08:47:09
Hola,

si no tienes ni idea de donde esta el fichero va a ser costoso. Deberas hacer como la busqueda de windows mas o menos. Estableces una raiz. Tomas los directorios, entras en uno, miras a ver si esta el fichero con CFile::Open si el resultado es error, es porque no esta en el, pasas al siguiente, vuelves a mirar y asi hasta que lo encuentres.

Si sabes donde se ubica entonces todo se simplifica. Le pasas la ruta hasta el fichero en el mismo Open.

Otra posibilidad es hacer una adaptacion a C del CCommonDialog de VC++ para abrir/guardar ficheros el CFileDlg.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar File en C

Publicado por Nacho (2 intervenciones) el 13/04/2007 15:22:25
No caigo en ninguna función estándar que te permita hacerlo desde C tanto para Windows como para Linux.

En algunos sistemas tienes funciones como "FindFirst" para buscar el primer fichero que cumple una cierta condición y "FindNext" para el segundo y sucesivos. Además, si tienes que mirar también en los subdirectorios, deberías también comprar los atributos, para proseguir la búsqueda de forma recursiva. Yo tenía algún fuente que lo hacía para Turbo C.

Hoy en día, suelo complicarme menos la vida y pasar parte del trabajo al sistema operativo (algo que quizá no te permitan hacer si se trata de un proyecto para la universidad o tu centro de estudios). Suelo hacer cosas como:

system("ls -R > listaFicheros")

y luego ese "listaFicheros" ya lo puedes manipular desde tu programa. También puedes afinar la búsqueda con "grep", etc.

Nota: "ls" es una utilidad de la familia Unix (incluyendo Linux); en Windows se usaría "dir". En cuanto a "grep", que es para que te muestre sólo los que contengan cierto texto, sí existen versiones para Windows.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar File en C

Publicado por fernando.gomez (1603 intervenciones) el 17/04/2007 07:12:24
Hola. Aquí tienes un escrito que he preparado para la ocasión. Bueno, la verdad no, pero espero te sirva.

http://kithkanan-programacionencpp.blogspot.com/2007/04/win32-api-buscar-archivos.html

La función está pensada para C++, pero no deberías tener problemas en emplear los conceptos bajo C.

Por supuesto, todo esto es para Windows.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar