Programación General > C/C++

 Problema con la segunda lista

<< < (8/8)

radarman:
ola de nuevo, anad que no estaras cansado ya de mi!!!!!!:).

A ver te cuento he realizado el programa escribiendo las funciones como las que tu me mandastes, me refiero en el primer parametro tu escribias "Lista" y ya despues asterisco, nombre funcion, ....., bueno pues al hacerlo yo me da varios errores al compilarlo, me dice:

1.- Uso impropio del typedef con "Lista"
2.- No me reconoce el primer parametro de la funcion que es lo de la "listaf" por ejemplo.
3.- Mas de uan inicializacion de Lista

Porque puede ser, se te ocure algo?

Gracias por todo.

JuanK:
si el archivo que te envie te compila bien..entonces deberias revisar tu codigo, siquieres te ayudo pero necesito que me lo envies...

despues te explico lo de los directorios.

juank

JuanK:
1 pregunta
veamos el codigo:
 
--- Código: Text --- if( opendir(pathaux)!=NULL && strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)    {      strcpy(listad->info,pathaux);      aux=(Lista *)malloc(sizeof(Lista));      listad->next=aux;      aux->back=listad;      listad=aux;    }    else    {      if( strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)      {        i=strlen(list->d_name)-1;         if( ( list->d_name[i]=='c'|| list->d_name[i]=='h' ) && list->d_name[i-1]=='.' )        {    
La primera vez usamos:
 
--- Código: Text --- if( opendir(pathaux)!=NULL && strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)  
opendir(pathaux)!=NULL  esta parte nos controla que abra la ruta especificada

strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..") y esta
nos controla que no entre al if si la ruta especificada es el directorio
"." o el directorio ".."

Luego hacemos esto:
 
--- Código: Text ---     else    {      if( strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)  
Esto nos valida que si no entro por el if sino por el else
se determinan dos razones:
la primera que no haya entrado porque era el directorio "." o el ".."
y que si no entro al if por una razon diferente, osea porque
fallo opendir, es porque es un archivo..!!!

2 pregunta
 
--- Código: Text ---      if((fp=fopen(listaf->info,"rt"))!=NULL)    {      fd=fileno(fp);      tamtot=0;      while(tamtot <filelength(fd))      {        memset(larguebuff,'',sizeof(larguebuff));  es una trampa que yo jejeje .. dado que la funcion filelength() requiere como parametro un numero identificador de archivo, y yo trabajo más comodamente con apuntadores, con la funcion fileno() obtengo un numero identificador de archivo con base al apuntador de un archivo.. de esta manera , puedo usar el numero identificador para pasarselo como parametro a filelength() y obtener el tamaño del archivo...

3- pregunta
fseek, mueve el apuntador del archivo a una posicion especifica, es decir para recorrer el archivo, necesitas desplazar el apuntador del archivo a otra posicion, eso es lo que hace fseek.

Esta es una copia de la referencia del libc en ingles para fseek:

Juank

radarman:
Hola Juank,

aqui te mando el prorama como lo etngo ahora, lo he dividido en tantos programilas, como ocsas tengo que hacer, tambein he escritos os archivos "h", aunque como es la primera vez pues no se si esta bien, espero que lo entiendas, estoy trabajando tambein con el porgrama que tngo entero, entonces si prefieres que te mande el otro dimelo y te lo mando cuando acabe con el.

Al compilar me dice que no me puede abrir el archivo "h", con lo que tu me enviaste la compilarlo me pone que no esta defineida la funcion "__BuscaFiles", con lo que em imagino que sera porque tampoco lee entonces el archivo "h".

Un salduo y muchas gracias.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa