• Jueves 7 de Noviembre de 2024, 21:33

Autor Tema:  Ruta De Una Archivo  (Leído 1153 veces)

hanamichi

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Ruta De Una Archivo
« en: Miércoles 4 de Julio de 2007, 05:10 »
0
como debo guardar la ruta de un archivo ingresado por teclado para q no me de problemas??

FILE *fichero;
char *ruta;

printf("Ruta para localizar archivo: ");  
gets(ruta);  

fichero = fopen(ruta, "r");
//....

este codigo tengo pero no me funciona.
compilo con turbo C++ 3.0

Karman

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
    • http://www.inexinferis.com.ar
Re: Ruta De Una Archivo
« Respuesta #1 en: Miércoles 4 de Julio de 2007, 05:25 »
0
char *ruta;

es un puntero (apunta a un string), es obvio que no podes almacenar una dirección ahí... para hacerlo (mediante punteros) tendrías que reservar memoria... pero es algo complicado... así que te doy la respuesta corta:

char ruta[MAX_PATH];
gets(ruta);

S2

hanamichi

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Ruta De Una Archivo
« Respuesta #2 en: Miércoles 4 de Julio de 2007, 07:08 »
0
gracias ahi me funciono , aprovecho de hacerte otra consulta XD
con q funcion podria desplegar una lista de todos los archivos q se encuentran en una determinada carpeta , con la extension .dat??
ya q una vez ejecutado el programa debera tener la opcion de elegir cualquier archivo q se encuentre en un directoriox  y leer su contenido.
salu2.-

Karman

  • Miembro activo
  • **
  • Mensajes: 84
    • Ver Perfil
    • http://www.inexinferis.com.ar
Re: Ruta De Una Archivo
« Respuesta #3 en: Miércoles 4 de Julio de 2007, 15:08 »
0
con este conjunto de funciones podes recorrer un directorio:

Código: Text
  1.  
  2. char dir[]="c:\\";
  3. struct dirent *pfile;DIR *opdir;
  4. struct stat ptarch;
  5.  
  6. if((opdir=opendir(dir))==NULL){
  7.   printf("Acceso Denegado a %s\n",orig);
  8.   return -1;
  9. }
  10.  
  11. if((pfile=readdir(opdir))!=NULL){
  12.   do{
  13.      if((strcmp(pfile->d_name, "."))&&(strcmp(pfile->d_name,".."))){  
  14.   stat(opath,&ptarch);
  15.   if(S_ISDIR(ptarch.st_mode)){
  16.            //listar directorios
  17.         }else {
  18.            //listar archivos...
  19.         }
  20.      }
  21.   }while((pfile=readdir(opdir))!=NULL );
  22. }
  23.  
  24.  

S2