50 14-04-09 06:35:47;233 FID:btmh_b_balis LID: 231 TID:SMGM_LogTask
001805197 ATP A 0221S000 No valid data at port 1
51 14-04-09 06:35:46;731 FID:btmh_a_balis LID: 167 TID:SMGM_LogTask
001804906 ATP A 000BS081 4 0 BT A->Balise Port2_invalid
以上述异常信息为例,如何编程进行分析50、51为故障记录(主要看最后一句),并将这两条记录完整提取出来。求一个思路如果可以希望能有程序说明。
你可以读出文本信息,判断fid和lid如果符合错误,就记录下来
#include ......
fstream file;
string line;
string content;
file.open(sourcefile);//sourcefile是文件路径
if(!file)
{
g_Log.print(LogLevel_Info,"[SendHttp] open file fail.\n");
}
while(getline(file, line,"r") {
if(line.strstr("No valid")!=NULL||line.strstr("invalid")!=NULL)print("%s",line);
}