Чтение уже открытого файла непрерывно с помощью C
Я внедряю приложение с небольшим весом, где мне приходится очень часто открывать и читать подробности / proc / pid или tid / task / stat. Если приложение многопоточное, я должен прочитать больше файлов статистики. Таким образом, открытие, чтение и закрытие делают мое приложение мониторинга очень медленным. Есть ли решение, чтобы избежать повторного открытия файла и возможности прочитать обновленный контент?
Я провел следующий эксперимент, но я нене вижу успеха. Я изменяю данные в "test.txt» но новые данные не читаются. Это потому, что файл не обновляется в памяти? Что происходит, когда я изменяю и сохраняюtest.txt "?
#include
int main()
{
FILE * pFile;
char mystring [100];
pFile = fopen ("test.txt" , "r");
while(1){
if (pFile == NULL) perror ("Error opening file");
if ( fgets (mystring , 100 , pFile) != NULL ){
puts (mystring);
fseek ( pFile , 0 , SEEK_SET );
}
sleep(1);
}
fclose (pFile);
return 0;
}