【问题标题】:Parse a char from an xml in C language?用 C 语言从 xml 中解析一个字符?
【发布时间】:2010-12-03 15:49:01
【问题描述】:

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

我使用这个代码:

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

但是输出似乎是“s/>”,而不仅仅是“s”字符。 这里有什么问题?

【问题讨论】:

    标签: c xml parsing scanf


    【解决方案1】:

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

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

    不过,您应该将地址运算符放在 character 前面,因为 sscanf() 需要一个类型为 char * 而不是 char (*)[1] 的参数:

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

    【讨论】:

      【解决方案2】:

      char character[1] 可以替换为char character,同时修复你的错误。

      如果要将character 保留为数组,则必须使用&amp;character[0]character 作为sscanf 参数,并使用character[0] 作为printf 参数。

      【讨论】:

      • 如果我在 sscanf 中使用“char character”,然后使用“&character”,那么我会从 strtok(data, character) 中得到一个异常。我尝试使用该函数而不将指针转换为 int。我不明白为什么?
      • 你只有一个角色。你为什么要把它分开?
      猜你喜欢
      • 1970-01-01
      • 2015-07-20
      • 2015-10-17
      • 2011-03-08
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      相关资源
      最近更新 更多