Для записи в ограниченный файл:
call ftell to find out where you are in the file
call fwrite to write as much as you can, with respect to restricted size
if you couldn't write the whole message
call fseek to return to the start of the file
call fwrite to write the remainder of the message
Для удовлетворения ваших измененных требований вам потребуется использовать файл на основе записей. Выберите размер арекорда, который немного больше самого большого сообщения, и укажите для каждого сообщения временную метку. Алгоритм, который я описал, все еще работает, за исключением того, что вы возвращаетесь к началу, если вы не можете написать сообщение целиком. Вам также необходимо написать небольшое приложение для чтения файла и представления содержимого в хронологическом порядке.
В качестве альтернативы, используйте существующую библиотеку журналов, например log4c .