用C语言解析xml中的char?

时间:2009-10-03 23:04:56

标签: c xml parsing scanf

我作为输入传递给我的程序:"<param value=s/>"

我使用此代码:

char character[1];
sscanf(data, "<param value=%c/>", &character);
printf("%c", character);

然而输出似乎是“s /&gt;”而不只是“s”字符。 这有什么不对?

2 个答案:

答案 0 :(得分:0)

您的代码是正确的,但您需要输出character[0]

printf("%c", character[0]);

您应该将地址运算符放在character前面,因为sscanf()期望参数类型为char *而不是char (*)[1]

sscanf(data, "<param value=%c/>", character);

答案 1 :(得分:0)

char character[1]可由char character替换,同时修复您的错误。

如果您想将character保留为数组,则必须使用&character[0]character作为sscanf参数,将character[0]作为printf作为{{1}} }参数。