I’m wondering how you can implement a program similar to tail -f in C/C++, a program that watches for and processes new lines added to a log file?
I’m wondering how you can implement a program similar to tail -f in C/C++,
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You can use fseek() to clear the eof condition on the stream. Essentially, read to the end of the file, sleep for a while, fseek() (without changing your position) to clear eof, the read to end of file again. wash, rinse, repeat. man fseek(3) for details.
Here’s what it looks like in perl. perl’s seek() is essentially a wrapper for fseek(3), so the logic is the same:
Then, in another session:
And back to the original program output: