gpt4 book ai didi

c - 在c中解析键值

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:05 25 4
gpt4 key购买 nike

我如何在 C 中解析键值字符串并将其分配给适当的变量?

即我们将把这个字符串传递给一个程序:

x = 193

它会为appr赋值。变量,所以

printf("%i", x);

产生

193

最佳答案

给定

char keyname[32];
int val;

我们要在其中存储键名的名称和整数赋值的值,以及示例格式的字符串 const char * str = "x = 193" 我们可以使用 sscanf() 为我们做解析的 C 库函数:

sscanf(str, "%32[^=]=%d", keyname, &val)

请注意,例如 str = "x = 193" 会将字符串 "x " 存储到 keyname 因此您仍然需要获取如果您希望在赋值周围和变量名称之前的空格方面使用灵活的语法,请去掉多余的空格。

sscanf() 将返回成功转换的次数,因此您应该测试它在我们的例子中是否返回 2

一旦你得到变量名和它的整数值存储在keynameval中,你可以像上面@unwind建议的那样做,看看你应该分配给哪个变量val 到,用 strcmp 测试。如果你有很多固定名称变量,你可以有一个表并使用查找函数来使它比一长串无法维护且容易出错的 if 语句更漂亮。

关于c - 在c中解析键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15657306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com