我将此字符串作为输入“<operator value=1/>
”。
如何在C中解析出这个字符串以获得“1”?
答案 0 :(得分:2)
如果你知道这就是你总能得到的字符串类型,你可以使用sscanf()
:
int value;
if(sscanf(theString, "<operator value=%d/>", &value) == 1)
; // parsing succeeded, use value
else
; // parsing failed
答案 1 :(得分:0)
我假设您在不使用任何库的情况下解析字符串,并且该字符串可能不合法。我曾经在解析sgml时遇到过这个问题。
有几种方法可以做到这一点。您可以使用strstok拆分字符串以找到值1,然后使用atoi转换它。
我建议您使用正则表达式库来提取字符串。它会处理更多的边界情况。