Dev - C++ - Nesecito ayuda para finalizar este programa...

 
Vista:

Nesecito ayuda para finalizar este programa...

Publicado por Michael (5 intervenciones) el 22/02/2018 00:52:25
Hola muy buenas noches tardes dependiendo se su ubicación estoy soy un iniciado en esto de la programación estoy en aprendizaje por lo tanto tengo muy poca experiencia ahora mismo estoy haciendo un programa de (búsqueda recursiva) en "C++" Windows 7 haciendo uso de la plataforma DEV C++ como medio para escribir compilar y ejecutar las lineas de código... el objetivo del programa es que busque y liste obviamente en el CMD directorios y su contenido en si para explicarme mejor que busque los subdirectorios dentro de los subdirectorios y los subdirectorios dentro de esos subdirectorios a su vez liste el contenido de cada uno a esto se le llama "búsqueda recursiva" el programa que hice cumple con los requisitos de buscar y listar segun la "direccion del subdirectorio o carpeta" que se le de, pero no se como transformarlo en un programa que haga una búsqueda recursiva e buscado por la red y hay muy pocos ejemplos siendo estos de lenguaje C o JAVA pero casi nada de C++ Ya pedí ayuda una vez en esta pagina pero en vano aquí vuelvo a pedir ayuda nuevamente les dejare el programa que ya hize yo solo falta pasar su búsqueda y listado simple a uno recursivo...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <dirent.h>
 
using namespace std;
 
void list_dir(string dir)
{
	DIR * directorio;
	struct dirent * elemento;
	string elem;
	if (directorio = opendir(dir.c_str()))
	{
		while (elemento = readdir(directorio))
        {
        	elem = elemento->d_name;
        	if (elem != "." && elem != "..") cout << elem << endl;
		}
	}
	closedir(directorio);
}
 
void init()
{
	cout << "Ruta del directorio a listar: ";
	string dir;
	getline(cin, dir);
	list_dir(dir);
	init();
}
 
int main(int argc, char *argv[])
{
	init();
	system("PAUSE");
    return 0;
}
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
sin imagen de perfil
Val: 160
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Nesecito ayuda para finalizar este programa...

Publicado por Andrés (53 intervenciones) el 22/02/2018 01:56:10
interesante, pero... porqué 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
Imágen de perfil de Alexbd
Val: 18
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Nesecito ayuda para finalizar este programa...

Publicado por Alexbd (6 intervenciones) el 22/02/2018 03:27:34
Hola el siguiente programa busca archivos recursivamente no lista pero pienso que puede ser de ayuda, lo encontre en otro foro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <vector>
#include <cstring>
 
using namespace std;
 
#include <direct.h>
#include <io.h>
 
void FindFile (const string& archivo, const string& carpeta)
{
	static struct _finddata_t c_file;
	static long hFile;
	static string filespec;
 
	filespec = carpeta + "\\*.*";
	if ((hFile = _findfirst (filespec.c_str(), &c_file )) == -1L )
		return;
 
	vector<string> carpetas;
	do {
		if ((c_file.attrib & _A_ARCH) != 0) { // no es un subdirectorio
			if (c_file.name == archivo)
			{
				cout << '[' << carpeta << ']' << endl;
				break;
			}
		} else if ((c_file.attrib & _A_ARCH) == 0 && strcmp (c_file.name, ".") && strcmp (c_file.name, ".."))
			carpetas.push_back (c_file.name);
	} while (_findnext( hFile, &c_file ) == 0);
	_findclose( hFile );
 
	for (size_t i = 0; i < carpetas.size (); ++i)
		FindFile (archivo, carpeta + "\\" + carpetas[i]);
}
 
int main(int argc, char* argv[])
{
	if(argc != 2) return 1;
	FindFile (argv[1], "C:\\Users");
	return 0;
}


Nota: Lo estuve probando y el uso de disco llego casi 100% xD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Nesecito ayuda para finalizar este programa...

Publicado por Michael (5 intervenciones) el 22/02/2018 12:57:01
Gracias por la ayuda man ya de aquí continuo yo solo denuevo gracias...
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