Programación General > C/C++
Re: Buscar Funciones en un archivo .c o .h
radarman:
Hola a tod@s otra vez,
a ver estoy implementando un programa que me tiene primero que buscar todos los archivos C y H, que esten en la carpeta que se le indique, bien eso ya lo tengo junto con que me cree una estructura dinamica con los datos que le pido.
Pero ahora tengo que abrir todos los archivos que he encontrado y leerlos para buscar las funciones que tengan todos definidas, donde estan definidas, donde se usan, ..., mi problema es que consigo leer el archivo, pero no me encuentra nada.
Lo que hago (segun yo, porque luego no lo hace), es leer hasta que me encuentro con un "n", un "{" o un ";", y lo introduzco todo en un array, y luego lo ocmpraro con otro array, que se supene es donde mas tarde definire como deben de ser la funciones, por ahora me busca defines o cosas asi, pero el caso es que siempre me carga solo un carater, y no se donde puede estar el fallo.
Si alguien sabe como hacerlo otiene algun ejemplo se lo agradeceria mucho.
Muchas gracias a todos por vuestra ayuda.
JuanK:
seria de mucha ayuda que pudieramos er el codigo. :lightsabre:
Arleko:
Me facilitarias el trabajo pasandome tu codigo.
:fire:
radarman:
Aqui os dejo el programa que estoy haciendo, esta en aleman, pero esüpero que no ea problema, si lo fuese decirmelo y lo traduzco y lo vuelvo a subir, os explico:
Se supone que este programa me busca en la carpeta que le indique al ejecutarlo todos los archivos C y H de la carpeta en cuestion.
Luego me construye una lista dinamica, y el problema gordo viene ahi, cuando quiero ver los datos que tengo en esa lista no la primera vez en el modulo donde me cnostruye la lista me lo imprime por pantalla correctamente, pero cuando hgo lo mismo al final del programa, con el nombre del archivo hay problemas me escribe lo que el quiere.
He mirado si era un problema de direcciones de memoria pero eso no es, y la verdad lelvo dos dias y no se donde puede estar el problema os agradeceria que me ayudarais.
Espero que no sea un problema que este en aleman, esta asi ya que estoy en Alemania haciendo unas practicas, y si no soluciono este error no puedo seguir asi que es muy importante que encuentre el fallo.
A ver una pekeña traduccion:
Los nombre de las funciones son:
FindenDatei: ahi es donde abro la carpeta y busco los archivos, si encontrase otra carpeta vuelvo otra vez pero ahora ocn el nombre de lacarpeta que encontre.
EinfuegenElementDateiListe: aqui es donde segun yo construyo mi magifica lista, pero da problemas como he dicho.
LoescheDateiListe: este modulo es para borrar la memoria que he ocupado al principio.
EndeDateiListe: esto es para colocarme al final de la lista.
AnfangDateiListe: para ir al principio de la lista.
ConCat: para construir todo el path (o sea c:......) que vaya encontrando para entrar en todas las subcarpetas que tenga la carpeta que he escrito al principio.
Ordner: para saber si es un nombre de archivo o de carpeta.
Suffix: para ver que extension tiene, solo me interesan las extensiones C y H.
UpCase: para que de igual si eta en mayusculas o minusculas escrito.
Bueno esto creo que es lo mas dificil, el resto al verad es ke e parecido al epañol.
Al imprimir por pantalla lo de Voher es el apuntador al elemento anterior, a el Nacher es el apuntador para el elemento siguiente.
Otra duda que tengo es si alguien me podria decir como ahcerl a rutina para por ejemplo pulsando ESC no tenga que esperar a que se ejecute todo el programa.
Muchas gracias a todos.
JuanK:
:alien:
sinceramente...
muy pocas veces he podido ver un codigo tan horrible... y no lo digo porque este mal programado...
para nada, sino porque sumado a la dificultad "sicologica" del idioma ...ese codigo esta repleto de garabatos y de vueltas innecesarias, como por ejemplo esto:
--- Código: Text --- /*~E:A3*//*~A:4*//*~+:Konstanten*//*~T*/#define Zeilenende ''#define Punkt 0x2E#define Buchstabe_C 0x43#define Buchstabe_H 0x48#define Klammer 0x7B#define Semikolon 0x3B#define LineFeed 0x0A#define Escape 0x1Bchar Backslash[2] = {0x5C, Zeilenende}; /*~E:A4*//*~A:5*//*~+:Funktionen*//*~T*/
No creo que sea màs practico escribir
#define Semikolon 0x3B
y despues invocar Semikolon , a solo escribir ','... no crees?..., ademas, pues me perdonas por la ignorancia pues tal vez no conozca, pero que le aporta al codigo o a la documentacion del programa esto:
/*~E:A1*/
/*~A:2*/
si se quiere representar algo, no creo que sea la manera mas efectiva de hacerlo .
En fin. la verdad si me gustaria ayudarte , pero seria muy util que nos enviaras una version del codigo que tu hayas modificado y depurado para hacerle más entendible.
:lightsabre:
Navegación
[#] Página Siguiente
Ir a la versión completa