Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Enagymo en 1 Agosto 2010, 02:38 am



Título: Problema en apertura de archivos en Borland C++
Publicado por: Enagymo en 1 Agosto 2010, 02:38 am
El problema que tengo, es que no puedo manejar archivos que se encuentren en el Escritorio o en algunas de sus sub-carpetas, en otras rutas funciona perfectamente, estoy programando en C, desde el Borland Turbo C++ 3.0.

Luego intenté desde el Dev-Cpp 4.9.9.2, con el mismo código y funciona, aquí les dejo el código:

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. FILE *Archivo;
  5. if((Archivo = fopen("C:\\WINDOWS\\Escritorio\\TxtEnC.txt", "wt")) == NULL){
  6. printf("Error\n");
  7. }
  8. else{
  9. printf("Funciona\n");
  10. }
  11. fclose(Archivo);
  12. return 0;
  13. }

¿Alguna idea de por qué sucede esto?

Gracias. ^^


Título: Re: Problema en apertura de archivos en Borland C++
Publicado por: MIG80 en 1 Agosto 2010, 03:33 am
Turbo C++ 3.0 es un compilador para DOS. En DOS los nombres de archivos y directorios tienen como maximo 8 caracteres para el nombre del archivo y 3 más para la extensión. Por consiguiente para abrir un archivo que tenga un nombre largo o con espacios se debe pasar a la función fopen() el nombre MS-DOS del archivo que en este caso debe ser algo como:
Código:
c:\\WINDOWS\\Escrit~1\\TxtEnC.txt


Título: Re: Problema en apertura de archivos en Borland C++
Publicado por: Enagymo en 1 Agosto 2010, 03:38 am
Perfecto, ese era el problema, gracias por la pronta respuesta. ^^


Título: Re: Problema en apertura de archivos en Borland C++
Publicado por: MIG80 en 1 Agosto 2010, 03:42 am
de nada! :D