Listar archivos .DAT en c++

Hola aprendiz33. Espero me puedas ayudar. Estoy tratando de listar los archivos que se encuentran en un directorio especifico (ejemplo: C:\Directorio), y que tienen una extensión particular (ejemplo: *. DAT o *.TXT). Aclaro que es en windows 7, pero me serviría información sobre cualquier plataforma (preferentemente UNIX). Desde ya muchas gracias...

1 respuesta

Respuesta
1
Pues utiliza una función que ejecute el comando respectivo del sistema operativo para enlistar los archivos. Depende de la biblioteca que estés utilizando, debe haber una función probablemente llamada system("DIR C://"); tendrás que buscar la adecuada en las bibliotecas que estés empleando y mandarle el comando respectivo dependiendo del sistema operativo.
Pero haber, no entiendo tu respuesta, o si, pero no me brinda información. Espero me disculpes, pero la biblioteca a utilizar no es ningún problema ya que puedo utilizar la que sea necesario, por otro lado, la SUPÛESTA función existente es la que no se y no encuentro. Y por ultimo, el sistema operativo, repito, es windows 7, pero si supiero como hacerlo en cualquier otro windows CREO yo que tendría el problema resuelto ya que no debe ser tan difícil migrarlo a win7, espero tu respuesta y gracias.
¿Conoces los comandos del intérprete de windows? ¿O sea MSDOS? Quiero suponer que si. Lo que tiene que hacer tu programa es ejecutar un comando del intérprete (corazón) del sistema operativo. El comando para que enliste los archivos .DAT de un directorio es:
DIR C:\\DIRECTORIO\\ *.DAT
En C y C++ es necesario escribir dos veces la \ cuando quieras que lea \
Existe una biblioteca de C que se llama dos. H que contiene una función que se llama system() a esa le mandas el comando así:
system ("DIR C:\\DIRECTORIO\\ *.DAT");
Ahora bien, me encontré una referencia de otras bibliotecas en este sitio que aparentemente contienen funciones específicas para ejecutar comandos del sistema operativo, si quieres chécalas, pero necesitas tener esas bibliotecas en tu computadora http://www.mhe.es/universidad/informatica/8448146433/archivos/c++f.pdf. y no se dónde las puedas obtener porque no son del estándar.
Todos los sistemas operativos tienen un intérprete de comandos, es el que usa la interface de ventanas, que en este caso es windows cualesquiera versión; en el caso de unix hay varias una de las más comunes es solaris. La interface de ventanas nos permite ejecutar comandos con el mouse. Pero si haces un programa para que ejecute comandos entonces tienes que saber los comandos y usar una función que los ejecute.
En el caso de C las bibliotecas se estandarizaron hace muchos años, para poder usarlas en cualquier sistema operativo. El estándar es el ANSI y la biblioteca dos. H es del estándar.
Espero haberte podido ayudar. De cualquier forma si necesitas más información, con gusto intento ayudarte, las veces que sea necesario.
AHOOOORA Si. Te agradezco mucho. Estuve chequeando el PDF que me mandaste, no se de donde lo sacaste, pero tiene un resumen de de librerías y sus funciones que es genial. Por otro lado conozco bastante bien (aunque no lo se utilizar pero ese no es el problema) la consola de comandos del sistema (DOS), pero no sabia por donde arrancar, pensé que había alguna librería (estándar o no) que permitiera la manipulación de los directorios, pero veo que no es tan fácil... muchísimas gracias por tu ayuda, me sirvió de mucho...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas