从字符串中检索键和值的最佳方法是什么?
我有char *stringRow="thisIsKey1=ThisIsValue1&thisIsKey2=ThisIsValue2"
我有上面的字符串,我需要从中提取char *key
和char *value
在我们从字符串中提取所有键值对之前,这将循环进行。
键和值对除以&
字符,字符串中的键和值可以是 n 。此外,键和值的长度也不同。
如何使用简单的C
执行此操作?任何一个例子都会有所帮助。
***更新:
我认为使用sscanf
解析更好的方法。
有人可以告诉我如何使用sscanf
格式化来解析这个字符串。
答案 0 :(得分:3)
首先请Noufals发表评论。
否则我会假设“=&”作为分隔符应该工作。然后迭代数组并构建值对。
请注意,这不会处理键值或值中包含的分隔符。你需要转义或转码这些。
答案 1 :(得分:0)
您可以使用strtok轻松拆分字符串并构建一个简单的状态机逻辑来获取键值对(具有两种状态:“读取键”,“读取值”)