65.9K
CodeProject is changing. Read more.
Home

Circular File

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.13/5 (4 votes)

Feb 6, 2001

viewsIcon

53600

downloadIcon

720

A class that implements a simple circular file.

  • Download source files - 28 Kb
  • Introduction

    When I wrote my first article on codeguru "Expandable Buffer" I saw there were lot of people seeking a Circular File. Hence I developed my own Circular File, and wanted to share it. Its interface is so simple. 

    Constructors

    • CCirFile() - Creates a new file with name "default Log" with 100 Lines
    • CCirFile(char * strFileName) - Creates a file with name strFileName. strFileName must be less than 100 lines
    • CCirFile(char * ,int ) - You can specify the file name and file size

    Methods

    • int InitFile() - All file initialization is done here
    • int AddLine( CString ) - You should call this function to a add new line at the start of the file

    Limitations

    1. Its not a true Circular File. It will add a new line at the start of the file and move all lines down one place, and the last line will removed
    2. It's slow. It can be enhanced by using multithreading.