You are on page 1of 2

abrir ficheros tipo file

file*pf
pf=fopen("nombre del fichero�,�modo de abrir")
r=solo te permite leer en el fichero si no existe te da NULL
w=solo te permite grabar en el fichero si no existe se crea y si existe se borra y
se vuelve a crear para volver a empezar
a=te permite grabar en el fin de fichero
r+=hace lo del r pero tambien te permite grabar
w+=hace lo del w pero se puede leer tambien
a+=lo mismo pero tambien se puede leer
cerrar ficheros fclose(pf) (devuelve 0 si no hay problema -1 si hay)
para errores o fin de fichero ferror(pf)(devuelve 0 si no hay error) y feof(0 si se
ha leido fin de fichero)
si quieres imprimir que hay error perror(�cadena de caracteres")
estos errores perduran y no permiten operar se usa clearrer o rewind
el buffer del fichero se puede borrar fflush(pf) graba en el fichero y vacia el
buffer

apuntador L/E

para conocer la posicion ftell(pf) devuelve el numero de byte donde esta el puntero
para moverlo fseek(pf,long desplazamiento(lo que se mueve),int posicion(posicion
inicio))
0->inicio seek_set esta en el inicio del fichero vale poner las dos cosas
1->seek_cur la posicion actual del fichero
2->seek_end esta al final del fichero
rewind (pf) te lo pone al inicio

lectura y grabacion de datos

fputc(cad[i],pf)=graba caracter a caracter para ir de uno en uno hacer bucle


fgetc(pf)=lee un caracter para que te lea una cadena bucle
los dos si no tienen error 0 y distinto de 0 si llegan a fin de fichero o tienen
error
fputs(cad,pf) graba una cadena de caracteres en el fichero para recuperar cadenas
conviene poner el \n (fputs(cad,pf);fputc("\n");)
fgets(cad,numero de elementos leidos(lee max-1 xk ya te cuenta el \n),pf) lee una
cadena de caracteres

grabacion de datos con formato


fprintf(pf,pones lo que quieras %tipodedato,lo que quieras imprimir) lo graba en el
fichero donde apunte el apuntador L/E
fscanf(pf,%tipodedato,&variable) te lee desde el fichero y asigna los valores a las
variables

grabacion de registros

fwrite(direccion de inicio,tama�o,numero de elementos,pf) sirve para grabar un


array de elementos desde donde apunte el L/E
fread(direccion de inicio,tama�o,numero de elementos,pf)sirve para leer una array
de elementos de un fichero desde donde apunte el L/E

mas sobre ficheros


remove(nombre fichero) sirve para borrar un fichero, no debe estar abierto
rename(nombre antiguo,nombre nuevo) sirve para renombrar un fichero
system("copy c:\nombrefichero1 c:\nombrefichero2) te copia los datos de un fichero
en otro
system("rm c:*\tipo de fichero)borra todos los ficheros

QUICK SORT
qs(pf,0,nelementos-1) metodo de ordenar