紧接着上一篇的分享,继续做日志文件的读取,点击连接即可日志文件初始化
https://blog.csdn.net/wjl990316fddwjl/article/details/135553238
1、将指针移动到文件末尾
//文件移动到结尾
fseek(fp, 0, SEEK_END);
2、定义当前指针的位置
lastPosition = ftell(fp);
3、定义一个函数,循环读取日志 ,每次读取最新日志
//主循环
void Main();
3.1、函数内容
void XAgent::Main()
{
// 读取最新日志
while (true)
{
// 将文件指针移动到上次读取的位置
fseek(fp, lastPosition, SEEK_SET);
// 读取新添加的内容
char buffer[1024];
while (fgets(buffer, sizeof(buffer), fp) != nullptr)
{
cout<<buffer<<endl;
}
// 更新 lastPosition 到文件末尾,以便下次读取新内容
lastPosition = ftell(fp);
// 等待一段时间再继续检查文件,可以有效解决cpu的问题
this_thread::sleep_for(chrono::milliseconds(100));
}
}
4、在主函数里面调用
XAgent::Get()->Main();
5、测试,开启两个终端,在一个终端运行agent代码,另一个终端用ssh连接服务器,输入密码之后,可以将运行结果同时展示在agent的终端上。

完结!!!!
















![[AutoSar]BSW_OS 01 Autosar OS入门(一)](https://img-blog.csdnimg.cn/direct/240eaddd193549bd82a9de8ea49c9106.png)
