(Este artículo forma parte del Curso de Programación en C)
Existe un grupo de funciones de ANSI C que sirven para manipulación de directorios (o carpetas, en terminología de Windows). Estas funciones no actúan sobre flujos, sino sobre archivos y directorios directamente, por lo que hay que pasarles el nombre del archivo o del directorio en una cadena de texto.
A este respecto hay que destacar que la barra invertida (”\”) que separa los directorios en Windows no puede utilizarse directamente en una cadena, ya que en C la barra invertida se usa para los caracteres especiales (por ejemplo, el retorno de carro se representa “\n”). Para usar la barra invertida en una constante de cadena debemos usar la secuencia de escape “\\”. Por ejemplo, para borrar el archivo C:\PRUEBAS\DATOS.TXT debemos escribir:
remove("C:\\PRUEBAS\\DATOS.TXT");
Aclarado esto, enumeramos a continuación las funciones de directorio más útiles:
remove()
Borra un archivo del directorio. Devuelve 0 si el borrado se realiza con éxito, u otro valor en caso de error. Si el archivo está abierto no podrá borrarse hasta que se cierre.
int remove(char* nombre);
rename()
Cambia el nombre de un archivo. Devuelve 0 si el cambio se ha realizado u otro valor si ocurre un error.
int remove(char* nombre_antiguo, char* nombre_nuevo);
chdir()
Cambia el directorio activo. Normalmente se trabaja en el mismo directorio donde está el archivo ejecutable, llamado directorio activo. Todos los archivos que se escriban y lean se localizarán en ese directorio, a menos que lo cambiemos.
int chdir(char* nombre_dir);
La función devuelve 0 si el cambio se produce con éxito u otro valor en caso contrario
mkdir()
Crea un directorio dentro del directorio activo. Devuelve 0 si la operación tiene éxito.
int mkdir(char* nombre_dir);
rmdir()
Borra un directorio. Para que el borrado tenga éxito, el directorio debe de estar vacío. Devuelve 0 si el borrado se completa correctamente.
int rmdir(char* nombre_dir);
Además, existen otras funciones para leer el contenido de un directorio (es decir, la lista de archivos que lo componen) y procesar dicho contenido. Dichas funciones escapan a la extensión de este artículo, pero el lector interesado puede buscar información sobre ellas: son opendir(), closedir(), readdir(), etc.

No comments
Comments feed for this article
Trackback link
http://profeblog.es/blog/alfredo/2008/05/18/manipulacion-de-archivos-y-directorios-en-c/trackback/