忽略xml元素中的字符
Ignore character in xml element
我正在尝试模拟游戏模式,我目前正在编写读取xml的函数。除了xml的这一部分,其他内容都可以正常读取。
<UPGRADE
requireHonor="250:325:400:1200" dps="40:60:80:200" magazineSize="0.5:0.75:1.0:3.0"
<!--The magazineSize is multiplied by the size of the magazine & then added to the original size.-->
/>
是否有一种特殊的方法可以忽略数字之间的冒号?如果这个问题已经被问过了,我很抱歉,但我没能找到任何与此相当匹配的问题。
用sscanf:
读取的例子 if (!stricmp(szAttrName, "requireHonor"))
{
sscanf(szAttrValue, "%d:%d:%d:%d", &pUpgrade->nrequireHonor[0], &pUpgrade->nrequireHonor[1],
&pUpgrade->nrequireHonor[2], &pUpgrade->nrequireHonor[3]);
}
else if (!stricmp(szAttrName, "dps"))
{
sscanf(szAttrValue, "%d %d %d %d", &pUpgrade->ndps[0], &pUpgrade->ndps[1], &pUpgrade->ndps[2],
&pUpgrade->ndps[3]);
}
else if (!stricmp(szAttrName, "magazineSize"))
{
sscanf(szAttrValue, "%.2f %.2f %.2f %.2f", &pUpgrade->fmagazineSize[0], &pUpgrade->fmagazineSize[1],
&pUpgrade->fmagazineSize[2], &pUpgrade->fmagazineSize[3]);
}
您的dps格式字符串应该是"%d:%d:%d:%d"
,就像您对requireHonor所做的那样,并且您的magazineSize格式字符串应该是"%f:%f:%f:%f"
带冒号。您需要冒号来锚定解析,对于解析浮点数,只需%f
就足够了。
相关文章:
- 如何在C++中确定文本文件中的元素是字符还是数字
- 对字符数组中的元素执行逐位操作
- 从字符数组的元素中减去'a'是什么意思
- 常量数组如何在每个元素中只能包含字符,而 char* 数组能够指向每个元素中的字符串?
- 为什么在 c++ 中分配 char 数组元素时,分配的字符会被销毁?
- 有没有办法搜索向量的元素,<String>然后检查它是否包含特定的字符,如果它确实打印了它
- 如何擦除矢量元素中没有特定字符的元素
- C++ 无法更改字符数组中的元素
- 为什么这段代码给出错误......'a'是指针到字符指针,应该存储's'的地址,因为s是指向数组的第一个元素的指针
- 如何将 int 数组的 1 个元素转换为字符串/字符
- 如何在 2D 字符数组中打印 [x][y] 元素的地址?(C++)
- 在字符串的每个元素(不使用弦乐)的每个元素之后插入字符
- C++ 使用 find_first_not_of(字符*)删除矢量元素
- 在 c++ 中使用未知元素初始化的字符数组
- 删除具有某些字符要求的字符串向量的元素
- 如何获取数组中字符串元素的字符数?[C++]
- 将字符值分配给向量元素.C
- 字符指针对象和相应的字符数组元素比较
- 从 1 中创建新的字符 * 作为参数,元素位于 2 个索引之间
- 将4字节整数放入vector的前4个字符元素中