如何读取字符串格式并在 ( 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 并添加到链表或结构数组中。
- 使用
fgets()
读取整行
- 使用 space 作为删除符使用
strtok()
换行并将相应的字符串存储在数组中。
- 然后使用
:
作为分隔符,使用 strtok()
将数组的内容一个一个地拆分。
请注意 strtok()
将修改您传递的字符串。
- 现在您可以将数组中的数据复制到您各自的结构字段
我有一个字符串格式示例:
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 并添加到链表或结构数组中。
- 使用
fgets()
读取整行
- 使用 space 作为删除符使用
strtok()
换行并将相应的字符串存储在数组中。 - 然后使用
:
作为分隔符,使用strtok()
将数组的内容一个一个地拆分。 请注意strtok()
将修改您传递的字符串。 - 现在您可以将数组中的数据复制到您各自的结构字段