从字符串中检索键和值的最佳方法是什么

时间:2011-04-26 10:34:30

标签: c

从字符串中检索键和值的最佳方法是什么? 我有char *stringRow="thisIsKey1=ThisIsValue1&thisIsKey2=ThisIsValue2"
我有上面的字符串,我需要从中提取char *keychar *value
在我们从字符串中提取所有键值对之前,这将循环进行。

键和值对除以&字符,字符串中的键和值可以是 n 。此外,键和值的长度也不同。

如何使用简单的C执行此操作?任何一个例子都会有所帮助。

***更新:
我认为使用sscanf解析更好的方法。 有人可以告诉我如何使用sscanf格式化来解析这个字符串。

2 个答案:

答案 0 :(得分:3)

首先请Noufals发表评论。

否则我会假设“=&”作为分隔符应该工作。然后迭代数组并构建值对。

请注意,这不会处理键值或值中包含的分隔符。你需要转义或转码这些。

答案 1 :(得分:0)

您可以使用strtok轻松拆分字符串并构建一个简单的状态机逻辑来获取键值对(具有两种状态:“读取键”,“读取值”)