2010-02-03 14 views

Respuesta

51

Aparte del hecho de que desvincular es específico de UNIX (como señala Chris), se lee en el manual de POSIX:

Si la ruta no nombra a un directorio, eliminar (ruta) es equivalente a desvincular (ruta). Si la ruta nombra un directorio, eliminar (ruta) es equivalente a rmdir (ruta).

En cuanto al directorio pasado unlink, leemos:

El argumento de la ruta no debe nombrar un directorio a menos que el proceso tiene privilegios apropiados y la aplicación es compatible con el uso de unlink() en los directorios. (...) Las aplicaciones deberían usar rmdir() para eliminar un directorio.

+2

Duh, debería haber leído las páginas man :). – SyBer

19

remove es portátil, y unlink es específico de Unix. :-P

4

unlink no es unix específico, no sé por qué la gente dice eso. ver io.h. aunque es probable que tenga que hacer algo como

#define unlink _unlink 

http://msdn.microsoft.com/en-us/library/1c3tczd6%28v=VS.100%29.aspx

http://msdn.microsoft.com/en-us/library/2da4hk1d%28v=VS.100%29.aspx

+6

unlink es una función de Posix. MS incluyó muchas funciones de Posix en los encabezados de tiempo de ejecución de C para su compilador, pero esto contaminó el espacio de nombres. Para cumplir más con el estándar C, MS más tarde reemplazó algunas de las funciones de Posix que habían proporcionado con versiones con un guión bajo (y otras eliminadas). Los subrayados principales están reservados para la implementación. En general, las funciones de tiempo de ejecución de C son más portátiles que las funciones de Posix. Las funciones de Posix, en general, están bastante centradas en Unix, a pesar de que algunos sistemas operativos que no son de Unix pueden proporcionar algo de soporte de Posix. –

+1

, por lo que aquí aceptamos que no es específico de unix. – bviktor

+6

No, no estamos de acuerdo. unlink es una función de Posix. Posix fue un intento de estandarizar los sistemas operativos derivados de Unix. _unlink es una función diferente que funciona en un sistema operativo que no es de Unix. –

Cuestiones relacionadas