2010-08-23 27 views
6

Cuando puedo compilar y ejecutar mi programa en C++ que elimina un archivo llamado example.txt (continuación)"Error al eliminar el archivo: Permiso denegado" con eliminar en C++

#include <stdio.h> 

int main() 
{ 
    if(remove("example.txt") != 0) 
    perror("Error deleting file"); 
    else 
    puts("File successfully deleted"); 
    return 0; 
} 

sale así ...

cd c:\Users\Mark\Desktop 
C:\Users\Mark\Desktop>app.exe 
Error deleting file: Permission denied 

Levanté todas las restricciones en el archivo y no hay acceso completo a nadie (que debe incluir mi programa).

¿Alguna solución?

EDITAR

cuando escribo en del example.txt en Símbolo del sistema funciona.

Extraño ...

+0

Bien, tengo un atajo que abre un archivo por lotes que ejecuta el programa Entonces sí ... –

+1

¿Cuál es el mensaje de error? perror debería darle una cadena de error. No hay nada justo después de su línea "sale así". ¿Puedes borrar ese archivo en una línea de comando? – EboMike

+0

¿Qué sucede cuando en lugar de 'app.exe' escribe' del example.txt' en el símbolo del sistema? –

Respuesta

0

supongo std::remove() toma el camino como un parámetro. Por lo tanto, debemos especificar la ruta completa como un parámetro para la función remove.

por ejemplo: remove("home/xxx/example.txt");

+1

Lo probé y no me ayudó. – STF

3

Usted está dando el mismo ejemplo exacta que aparece en Cplusplus así, si el programa no funciona, creo que es un problema relacionado con o.s.

Si está utilizando Windows 2k o posterior, intente con the DeleteFile api y observe si ocurre el mismo error.

No puedo agregar comentarios a la pregunta, por lo tanto, lo siento si esta no es la respuesta correcta.

Asegúrese de que no tiene el archivo abierto. Intenta crear un nuevo archivo desde tu programa y elimínalo.

0

Quizás no tenga permiso para cambiar los archivos en este lugar del código de su visual visual.

Tuve este problema y cambié la ubicación del archivo y no tuve más problemas.

Cuestiones relacionadas