Circular File

When I wrote my first article on CodeGuru,

Expandable, Data Type-Neutral Buffer Class
,
I realized that there are lot of people seeking the code
for a circular file.
Hence, I developed my own circular file implementation, and want
to share this. Its interface is very simple. Everything basically
revolves around the Addline(CString) method which you use to
add a line at a time to the current file.

Constructors:


  • //Create New File with Name "default Log" with 100 Lines
    CCirFile();
    

  • //Create File with Name strFile Name But 100 lines
    CCirFile(char * strFileName);
    

  • //You can specify file Name and File Size
    CCirFile(char * ,int );
    

Functions


  • //All file initialization here
    int InitFile();
    

  • //You should call this function to add new line at start of file
    int AddLine( CString );
    

Limitations


  • It’s not a true circular file implementation.
    It adds each new line to the beginning of the file,
    and moves the remaining lines, truncating the last line

  • It’s slow and performance could be dramatically increased via
    the use of multiple threads.

Downloads

Download demo project – 28 Kb

More by Author

Must Read