Esta es la primera vez que estoy de codificación C en Windows y un extraño bug me está volviendo loco.

Estoy tratando de abrir un .txt archivo con fopen, y sigue dándome el «archivo no existe» error (también me dio «sin permiso» de error, una vez).

Mi código es el siguiente (no hay nada más sencillo que eso):

FILE *file;

if((file=fopen("C:\Users\ste\Desktop\file.txt", "r"))==NULL) 
{
    printf("Cannot open file.\n");
    puts(strerror(errno));

    getchar();
    exit(1);
}

Que me estoy perdiendo algo aquí? Gracias de antemano!

Bien, ¿el archivo existe y tiene permisos de lectura? 😉
"r" es abrir el archivo para lectura: ¿definitivamente existen?

OriginalEl autor STE | 2012-01-30

3 Comentarios

  1. 16

    Apuesto a que tienes el Windows «ocultar las extensiones» bugcaracterística activada. Por lo que el archivo que en realidad es llamado «file.txt» aparece en el Explorador como «archivo». Y si lo que parecía ser «file.txt» en el Explorer, tendría que ser llamado «file.txt.txt» en el disco duro.

    +1 Ja, eso es todo! Se adapta perfectamente a su no-respuesta!
    un sutil golpe de Windows para la «ocultar las extensiones de» totalmente de acuerdo (+1)

    OriginalEl autor AShelly

  2. 1

    El código en sí está bien suponiendo que lo que hace es lo que estás queriendo.

    «r» requiere que el archivo ya existe (no lo puedo crear una para usted de modo que usted necesita para asegurarse de que la ruta es correcta. Es el escritorio de camino a la derecha, no en otra unidad, etc?

    El permiso de error que podría ocurrir si fue ejecutada por un usuario distinto de «ste», o, por supuesto, si algo había cambiado los permisos en que la ruta de acceso del archivo de alguna forma para evitar el acceso.

    bueno.. El archivo existe y soy usuario ste lo que significa que debe ser capaz de acceder a los archivos en mi escritorio, ¿no ? 🙂 No podría ser de cualquier permiso conflicto porque estoy construyendo a través de Visual Studio?…

    OriginalEl autor Fire Lancer

  3. -1

    Estoy usando Windows 7.
    Cuando inicio el programa de ejemplo desde dentro de IDE (como CTRL+F10 en Code::Blocks) ninguna de las obras – con o sin extensión de archivo (. i.g. en «archivo» o «file.txt»).

    Sin embargo, si yo inicio el programa compilado desde dentro de la consola (no relacionados con IDE) funciona independientemente de si el archivo tiene extensión o no.

    OriginalEl autor omnix

Dejar respuesta

Please enter your comment!
Please enter your name here