如何读取字符串格式并在 ( C ) 中分隔 fields:value

How to read string format and seperate fields:value in ( C )

我有一个字符串格式示例:

1)

   DATASET:students name:STRING sid:STRING graduated:BOOLEAN year:INTEGER gpa:INTEGER

2)

 typedef  struct param{
          char *Name;
          char *Value;
          struct param *next;
          }params;

我们必须从字符串中获取所有 fieldname:value 并添加到链表或结构数组中。

  1. 使用fgets()
  2. 读取整行
  3. 使用 space 作为删除符使用 strtok() 换行并将相应的字符串存储在数组中。
  4. 然后使用 : 作为分隔符,使用 strtok() 将数组的内容一个一个地拆分。 请注意 strtok() 将修改您传递的字符串。
  5. 现在您可以将数组中的数据复制到您各自的结构字段