| Contacto | Chat | Foro |__
  
 
Principal Hoja de Vida Universidad Artículos Programas Descargas
 

Clase para manejo de arreglos persistentes (con almacenamiento en disco)


PROG00018 - C/C++
La clase FARRAY permite manipular archivos en disco, como si fueran arreglos unidimensionales
class FARRAYLOC
{
   private:
   FARRAY* pFile;
   fpos_t fileLoc;

   FARRAYLOC (FARRAY& f,fpos_t loc): pFile(&f),fileLoc(loc){}

   public:
   friend FARRAY;

   void operator = (char c);
   void operator = (const char* str);
   operator const char (void);
};

class FARRAY
{
   private:
   FILE* fp;

   public:
   friend FARRAYLOC;

   FARRAY (const char* nombre);
   ~FARRAY (void);

   FARRAYLOC operator [] (fpos_t loc);
};
A continuación se definen los métodos correspondientes
FARRAY::FARRAY (const char* nombre)
{
   fp= fopen(nombre,"r+");
}

FARRAY::~FARRAY (void)
{
   fclose(fp);
}

FARRAYLOC FARRAY::operator [] (fpos_t loc)
{
   fseek(fp,loc,SEEK_SET);
   return FARRAYLOC(*this,loc);
}

void FARRAYLOC::operator = (char c)
{
   if (pFile->fp != NULL)
   putc(c,pFile->fp);
}

void FARRAYLOC::operator = (const char* str)
{
   if (pFile->fp != NULL)
   fputs(str,pFile->fp);
}

int FARRAYLOC::operator const char (void)
{
   if (pFile->fp != NULL)
   return getc(pFile->fp);

   return EOF;
}
Advertencia
Aunque no he escatimado esfuerzos en cuanto a proveer aplicaciones e información confiable y veraz, sin embargo no puedo garantizar que esté totalmente libre de errores; por esa razón, no asumo responsabilidad alguna por las consecuencias que se deriven de su empleo.




7-Zip

Descarga Adobre Reader

Descargar programa
  Copyright 2005 | Ramón Medina | Todos los derechos reservados | Última Actualización: Agosto del 2008 | webmaster@ramonmedina.name