Question:
I want to make a log file circular using C++ I/O manipulation. I am new to C++ and come from a C background. To me stream I/O is completely new, and it will take some time for me to digest these concepts.
If I were doing it in C, I would try using ftell(), fseek(), and rewind(). However, I would appreciate some ideas in C++.
Answer:
Unfortunately, there is really no such thing as a circular file. It would be up to you to program it.
Probably the easiest way is to create a class that writes the data only to memory. In memory, it would be much easier to delete and rearrange items. Then simply save the file to disk when you are finished.
Things get much more complicated if you do want to manipulate a file this way. You’ll probably need to come up with a maximum length for each item. That way, you’ll be able to go back and overwrite older items without overwriting the newer ones.