我传递输入到我的程序:"<param value=s/>"
从C语言的xml解析字符?
我用这个代码:
char character[1];
sscanf(data, "<param value=%c/>", &character);
printf("%c", character);
但是输出似乎是“S />”,而不是只“S”字符。 这里有什么问题?
我传递输入到我的程序:"<param value=s/>"
从C语言的xml解析字符?
我用这个代码:
char character[1];
sscanf(data, "<param value=%c/>", &character);
printf("%c", character);
但是输出似乎是“S />”,而不是只“S”字符。 这里有什么问题?
你的代码是正确的,但你需要输出character[0]
:
printf("%c", character[0]);
你应该放弃地址运营商在character
前面,但是,作为sscanf()
预计和char *
类型的参数不char (*)[1]
:
sscanf(data, "<param value=%c/>", character);
char character[1]
可以替换为char character
,同时修复您的错误。
如果你想保持character
作为一个数组,你必须使用&character[0]
或character
为sscanf
参数,character[0]
为printf
参数。
如果我在sscanf中使用“char character”,然后使用“&character”,那么我会从strtok(数据,字符)中得到一个异常。我正在尝试使用该函数而无需将指针指向int。我不明白为什么? – goe
你有一个角色。你为什么试图分裂它? –
谢谢!这工作完美! – goe