Sie sind auf Seite 1von 6

LIBRERA DIR.

H
Ms funciones para la manipulacin de la estructura de almacenamiento del sistema.

mkdir: Crea una carpeta o directorio. Devuelve 0 si ha tenido xito, o -1 si


se ha producido un error. Sintaxis: mkdir("nombre_carpeta"); Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main() { char carpeta[20]; printf("Deme el nombre de la carpeta: "); scanf("%s",carpeta); if(mkdir(carpeta)!=0) printf("Error al crear la carpeta\n"); else printf("Sea ha creado la carpeta %s\n",carpeta); getch(); }

rmdir: Borra una carpeta o directorio. Devuelve 0 si ha tenido xito, o -1 si


se ha producido un error. La carpeta debe estar vaca. Sintaxis: rmdir("nombre_carpeta"); Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main() { char carpeta[20]; printf("Deme el nombre de la carpeta que quiere borrar: "); scanf("%s",carpeta); if(rmdir(carpeta)!=0) printf("No se pudo borrar el directorio\n"); else printf("La carpeta %s ha sido eliminada\n",carpeta); getch();

chdir: Cambia de directorio. Devuelve 0 si ha tenido xito, o -1 si se ha


producido un error. Sintaxis: chdir("ruta"); Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main() { char ruta[40]; printf("Escriba la ruta a donde quiere ir: "); scanf("%s",ruta); if(chdir(ruta)!=0) printf("Error en la ruta especificada\n"); getch(); }

searchpath: Devuelve la ruta completa de un archivo en el directorio


actual. Devuelve NULL si no ha tenido xito. Sintaxis: searchpath("nombre_archivo"); Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main() { char nombre[20]; char *ruta; printf("Como ese llama el archivo que desea buscar: "); scanf("%s", nombre); if(searchpath(nombre)==NULL) printf("No se encontr el archivo\n"); else printf("La ruta del archivo es:\n %s\n", ruta); getch(); }

getcwd: Devuelve la ruta completa del directorio actual. Devuelve NULL si


no ha tenido xito. Sintaxis: getcwd(buffer, largo_buffer); Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main() { char buffer[MAXPATH]; /* MAXPATH simboliza la mxima cantidad de caracteres en la especificacin de un archivo */ getcwd(buffer, MAXPATH); printf("El directorio atual es: %s\n", buffer); getch(); }

getdisk: Obtiene la unidad de disco actual. Devuelve un entero que


representa la unidad actual. La unidad A es 0 Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main( ) { int unidad; unidad = 'A' + getdisk(); /* la suma tiene que ver con el cdigo ASCII si a A le sumo 1, obtengo la B, si le sumo 2 obtengo la C */ printf("La unidad actual es: %c\n", unidad); getch(); }

setdisk: Cambia la unidad de disco


Sintaxis: setdisk(numero_de_unidad);

Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main(void) { int salvar, disk, unidades=0; /* salva la unidad actual */ salvar=getdisk(); /* imprime las letras de las unidades disponibles */ printf("Unidadea Disponibles:\n"); for (disk = 0;disk < 26;++disk) /* el 26 viene de las 26 letras del abecedario */ { setdisk(disk); if (disk == getdisk()) { printf("%c: esta disponible\n", disk + 'A'); unidades++; } } printf("%i unidades logicas hay disponibles en el sistema\n\n", unidades); setdisk(salvar); getch(); }

getcurdir: Devuelve la ruta completa del directorio actual. Devuelve NULL


si no ha tenido xito. Sintaxis: getcurdir(0, ruta+3) Ejemplo:
#include <stdio.h> #include <stdlib.h> #include <dir.h> main() { char ruta[MAXPATH]; strcpy(ruta, "X:\\"); /* llena la cadena con el

formato habitual UNIDAD:\ */ ruta[0] = 'A' + getdisk(); /* remplaza la X por la letra de unidad actual */ getcurdir(0, ruta+3); /* llena a partir del cuarto elemento de la cadena ruta */ printf("\n%s", ruta); getch(); }

findfirst: Examina el directorio de un disco. Devuelve 0 si ha tenido xito,


y -1 si no es as. Sintaxis: findfirst("especificacin de archivo, estructura ffblk, atributos) En la especificacin de archivo se pueden usar comodines. ffblk, corresponde a una estructura de control de bloque y tiene la siguiente forma:
struct ffblk { char ff_reserved[21]; char ff_attrib; unsigned ff_ftime; unsigned ff_fdate; long ff_fsize; char ff_name[13]; ;

Los atributos de DOS son:


FA_RDONLY Slo lectura FA_HIDDEN Archivo Oculto FA_SYSTEM Archivo de sitema FA_LABEL Etiqueta del volumen FA_DIREC Directorio FA_ARCH Archivo

findnext: Contina el exmen que de directorio realizado por find first.


Devuelve 0 si ha tenido xito, y -1 si no es as. Sintaxis: findnext(estructura ffblk) Ejemplo de findfirst y findnext:
#include <stdio.h> #include <stdlib.h>

#include <dir.h> main(void) { struct ffblk ffblk; /* estructuras de control de bloques de DOS */ int listo; printf("Directory listing of *.*\n"); listo = findfirst("*.*",&ffblk,0); while (!listo) { printf(" %s\n", ffblk.ff_name); listo = findnext(&ffblk); } getch(); }

Das könnte Ihnen auch gefallen