如何从头文件的行中获取信息

时间:2013-11-02 15:38:21

标签: c# parsing split

我有一个头文件,其中有几行以字符串#define开头。现在我需要拆分这些行以从中获取所有必要的信息。我可以使用string的Split函数来完成它并使用索引获取特定的字符串,但我认为这不是一个非常安全的方法。

有两种类型的线,首先是“全局”线。

#define ERR_CAN_WARNING      ERR ( 0 )  // 0x0001
#define ERR_CAN_ERROR        ERR ( 1 )  // 0x0002
#define STAT_OK             0 // Comment
#define STAT_FAIL           1 // Hardwarefehler
#define STAT_ILL            2 // Kommando-/Parameterfehler

我需要具体的内容:

  1. #define之后的名称,并确定其ERR或STAT
  2. 如果它的ERR然后我需要ERR()内的值,如果它的STAT我只需要名字后面的值
  3. //
  4. 之后的文本行的描述

    总结我在这个例子中有两种线:状态行和错误行。

    现在单位特定行:

    #define UNIT_STAT_ARMED        8  // Kommando nicht zulässig, weil CCU armiert ist
    #define UNIT_STAT_PULSERR      9  // Fehler in Pulsdefinition
    #define UNIT_STAT_SEQERR       0x0A  // Parameter sequence passt nicht zur Pulsdefinition
    #define UNIT_ERR_SDC_DSSDN   ERR (8 )  // 0x0100 * SDC Shutdown durch Überstrom während Test
    #define UNIT_ERR_SDC_HKSDN   ERR (9 )  // 0x0200 SDC Housekeeping Shutdown
    #define UNIT_ERR_SDC_TLMTSDN ERR (10 ) // 0x0400 SDC Shutdown wg Zeitüberschreitung während Test
    #define UNIT_ERR_SDC_SYSSDN  ERR (11 ) // 0x0800 * SDC Shutdown wg Anforderung durch CCU
    

    我需要具体的内容:

    1. 单位的名称,即#define
    2. 之后的UNIT
    3. 确定在UNIT之后显示的ERR或STAT
    4. 如果它的ERR然后我需要ERR()内的值,如果它的STAT我只需要名字后面的值
    5. //
    6. 之后的文本行的描述

      有没有一种好方法可以在不使用不安全的Split函数的情况下处理这个问题,因为在拆分字符串后使用了可能的更改索引?

0 个答案:

没有答案