Almacenamiento

20
Archivos Funciones para archivos en C Programaci´ on estructurada Almacenamiento y recuperaci´ on de informaci´ on Oscar Alvarado Nava [email protected] Departamento de Electr´ onica Divisi´on de Ciencias B´ asicas e Ingenier´ ıa Universidad Aut´onoma Metropolitana, Unidad Azcapotzalco 13O, noviembre de 2013 Oscar Alvarado Nava UAM Azcapotzalco Almacenamiento y recuperaci´on de informaci´on 1/20

description

programación estructurada

Transcript of Almacenamiento

Archivos FuncionesparaarchivosenCProgramaci onestructuradaAlmacenamientoyrecuperaciondeinformacionOscarAlvaradoNavaoscar.alvarado.nava@gmail.comDepartamentodeElectr onicaDivisiondeCienciasBasicaseIngenieraUniversidadAutonomaMetropolitana,UnidadAzcapotzalco13O,noviembrede2013OscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 1/20Archivos FuncionesparaarchivosenCContenido1ArchivosSistemadearchivos2FuncionesparaarchivosenCManejodearchivosenCFlujosdetextoFlujosbinariosOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformaci on 2/20Archivos FuncionesparaarchivosenCSistemadearchivosArchivosLosarchivossonmecanismosdeabstraccionPermitenelalmacenamientoyrecuperaciondeinformacionAbstraealosusuariosdelosdetallesdelcomoydondesealmacenalainformacionydecomofuncionanlosdispositivosdealmacenamientoOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 3/20Archivos FuncionesparaarchivosenCSistemadearchivosDiscoduromagneticoOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 4/20Archivos FuncionesparaarchivosenCSistemadearchivosCDROM,DVD,BluRayOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 5/20Archivos FuncionesparaarchivosenCSistemadearchivosMemorysticsOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 6/20Archivos FuncionesparaarchivosenCSistemadearchivosRepresentaci ondelainformacionLainformacionesrepresentadaporunconjuntodebytesCaracteres(texto),pixeles(imagenes),muestras(audio),frames(video),etc.Unarchivoeselconjuntodebytesquerepresentanlainformacion,almacenadosenMemoriaprincipalDispositivodealmacenamientomasivo:discoduro(magnetico,estadosolido),CDROMs,DVDs,etc.ParasualmacenamientoyrecuperacionesnecesariounmetododeidenticacionParasugestionesnecesarioagregarleatributosOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 7/20Archivos FuncionesparaarchivosenCSistemadearchivosArchivosasociadosaaplicacionesExtension Signicadoarchivo.c ProgramafuentedeCarchivo.o Archivoobjeto,codigocompiladosinenlazararchivo.tex TextomarcadoparaprocesarconTEXarchivo.pdf ArchivoPortableDocumentFilearchivo.gif ImagenGraphical InterchangeFormatarchivo.jpg ImagenenJointPhotographicExpertsGrouparchivo.mpg VideoenMovingPictureExpertsGrouparchivo.mp3 M usicaenMPEGaudioLayer3archivo.zip ArchivocomprimidoOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 8/20Archivos FuncionesparaarchivosenCSistemadearchivosTiposdearchivosenUNIX/LinuxRegulares:almacenamientodelainformaciondeusuarioysistemaDirectorios:archivosparacrearunaestructurallamadasistemadearchivosCaracter:modeladispositivosdeE-Scuyoaccesoesporcaracteres(terminales,puertoserial,etc)Bloque:modeladispositivosdeE-Scuyoaccesoesporbloquesdebytes(discosduros,CDROM,etc)Especiales:ligas,pipes,socketsOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 9/20Archivos FuncionesparaarchivosenCSistemadearchivosEstructuradearchivo(a) (b)HeaderHeaderHeaderMagic numberText sizeData sizeBSS sizeSymbol table sizeEntry pointFlagsTextDataRelocationbitsSymboltableObjectmoduleObjectmoduleObjectmoduleModulenameDateOwnerProtectionSizeHeadera)Ejecutableb)BibliotecaOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 10/20Archivos FuncionesparaarchivosenCSistemadearchivosAlgunosatributosAtributo SignicadoCreador Identicaciondel usuarioquecreoel archivoPropietario Identicadordel propietarioGrupo Identicadordel grupodel propietarioBanderasdepermisos Lectura,escritura,ejecuci onTama no Tama nototal del archivoenbytesTiempos Creacion, ultimoacceso, ultimamodicacionOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 11/20Archivos FuncionesparaarchivosenCManejodearchivosenCFuncionesdebibliotecaparaelmanejodearchivosEllenguajeCnocuentaconsentenciasparaelmanejodearchivosParaelmanejodearchivosutilizafuncionesdelabibliotecaestandardeCGNUdesarrollolasupropiabibliotecaestandarllamadaglibc,utilizadasenUNIX/LinuxANSItambiendenesupropiabibliotecaOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 12/20Archivos FuncionesparaarchivosenCManejodearchivosenCAbstracci onLasfuncionesdebibliotecaproporcionanunaltoniveldeabstraccionalprogramadorparaelmanejodearchivosOcultandolosdetallesdelfuncionamientodeldispositivodealmacenamientoOcultandolosdetallesdealmacenamientoyrecuperaciondelainformacionLaabstraccionhacequeparaelprogramadortodosistemadealmacenamientoseatratadocomounujo(stream)OscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 13/20Archivos FuncionesparaarchivosenCFlujosdetextoFlujosdetextoCuandoseinterpretanlosbytesdelujoencaracteres,selesconocecomoujodetextoLosujosdetexto(textstream)esunasecuenciadecaracteresParalalecturadeujosdecaracteres,CcuentacondostiposdefuncionesFuncionesorientadasacaracterFuncionesorientadasacadenasOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 14/20Archivos FuncionesparaarchivosenCFlujosdetextoFuncionesorientadasacaracterFuncionesqueleeuncaracteralavezyparadelimitarunujopuedenutilizarcualquiercaracter,incluidosloscaracteresdecontrolCaracteresimprimibles: ,-,,etc.Caracteresdecontrol:\n,\0,\r,etc.OscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 15/20Archivos FuncionesparaarchivosenCFlujosdetextoFuncionesorientadasacadenasFuncionesqueleeunasecuenciadecaractereshastaqueencuentranuncaracterespeccoCaracterdeespacio Caracterdenuevalinea\nIndicadordendearchivoEOFUnavezleidosloscaracteres,lafuncionintercambiaelcaracterdelimitadorporelcaracternulo(consultarelmanualdecadafuncion)OscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 16/20Archivos FuncionesparaarchivosenCFlujosbinariosFlujosbinariosCuandoNoselesdaunainterprecionalosbytesdelujo,selesconocecomoujobinarioLosbytesledossoninterpretadosdentrodelprogramaSisetomangruposde4bytes,puedenserinterpretadoscomointocomofloatSisetomangruposde8bytes,puedenserinterpretadoscomodoubleOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 17/20Archivos FuncionesparaarchivosenCFlujosbinariosDescriptorarchivoParaaccederaunujoasociadoconunarchivodesdeunprogramaenC,esnecesarioundescriptordearchivoLosdescriptoresdearchivosenlabibliotecaestandarsondetipoFILE,lacualesunaestructuradenidaenelarchivostdio.hOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 18/20Archivos FuncionesparaarchivosenCFlujosbinariosOperacionessobrearchivosTodoarchivodeberaserLocalizadoenelsistemadearchivospormediodeunaruta(path)yunnombreUnavezlocalizadodeberaserabiertoAbiertoelarchivosepodraleerde ely/oescribiren elFinalmentedeberasercerradoOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 19/20Archivos FuncionesparaarchivosenCFlujosbinariosFuncionesbuereadascomunesNombre Funcionfopen() Abreunarchivofclose() Cierraunarchivoputc() Escribeuncaracterenel archivofputc()getc() Leeuncaracterenel archivofgetc()fseek() Buscaunbytesenespeccofprintf() Lomismoqueprintfperoaunarchivofscanf() Lomismoquescanfperoaunarchivofeof() Regresaverdaderocuandollegaal nal del archivoferror() Regresaverdaderocuandosehageneradounerrorrewind() Regresael apuntadoralaposicioninicialremove() Eliminaarchivofflush() Limpiael ujofread() Leetiposdedatosmulti-bytefwrite() Escribetiposdedatosmulti-byteOscarAlvaradoNava UAMAzcapotzalco Almacenamientoyrecuperaciondeinformacion 20/20