使用什么类型的分隔符?

时间:2016-12-07 20:24:37

标签: c file parsing delimiter

我正在尝试解析一个没有任何规范的文件来指导我。我计划将此文件的一部分拆分为变量名称,但我不确定这些字段是如何分隔的。显然,分隔符的变化方式有一种模式......有人能指出我正确的方向吗?

这是我感兴趣的数据(为了清晰起见,我添加了空格):

  

@EEFDAAH TFLBFile CM ExecutionName EL FileContents GI %reserved IJ & ReadCount KE vTest B @ CQETMV @ Dmain @Ž¾àÅU

完整文件(减去一些不可见的控制字符):

MFP214DTest
JA
BMExecutionNameLFileContents
BCEAƒSTCF01TFLBFileTestRead0f36c096fa0~1~2~1~2~0~0~0~0~0~0~0~0~0~0~0~0~0~0~TFLBFile~TFLBFile~~0~0~2~0~0~0~0~1~0~0~0~0~0~0~ExecutionName~ExecutionName~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~FileContents~FileContents~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~1~0~0~0~0~0~1~~0~2~'Test'~15~0~1~0~FQ_dbopenwithfieldsDG_dbreadHprintoutFAHJ@A@WSHSJSGSASDSFSLQNhSHSJSGSISPQRhSESHQThSBTKf@EEFDAAHTFLBFileCMExecutionNameELFileContentsGI%reservedIJ&ReadCountKEvTestB@CQETMV@Dmain@Ž¾àÅU

1 个答案:

答案 0 :(得分:1)

如果您发布了一两个记录,并且还有十六进制,那可能会更好。如果记录类型不同,首先需要识别记录类型。它确实看起来像领先的字段可能以不同的方式处理,一个记录级别的标题,它们看起来以空格分隔。尝试假设这里有固定数量的字段。如果失败,则可能存在不同的记录类型,并且包括的数据可能以记录开头的地图或类型为条件。类似于argv []元素作为值对,可以以任意顺序读取字段。架构也是有用的信息,尾随字节看起来很可疑二进制..