C++ 使用fscanf()进行分析时是否忽略空格或缺少值?

C++ 使用fscanf()进行分析时是否忽略空格或缺少值?,c++,xml,C++,Xml,我试图用XML扫描一个文本文件,XML有许多具有这种结构的项: <enemy> <type> 0 </type> <x> 273 </x> <y> 275 </y> <event> </event> </enemy> 0 273 275 问题是xml可能在标记之间或标记内部有空格。我创建了一个循环,并尝试在每次迭代中进行一次扫描,以将int-type、x、

我试图用XML扫描一个文本文件,XML有许多具有这种结构的项:

<enemy>
  <type> 0 </type>
  <x> 273 </x>
  <y> 275 </y>
  <event> </event>
</enemy>

0
273
275
问题是xml可能在标记之间或标记内部有空格。我创建了一个循环,并尝试在每次迭代中进行一次扫描,以将int-type、x、y和event分别放入一个变量中。但是,我不知道如何忽略空白,也不知道如何处理缺少的值,因为有些标记可能有值,也可能没有值(比如event)


如何扫描这个“敌人”,而不考虑间距和缺少的值?

这是一个简单的问题-您不必使用
fscanf()
解析XML。使用真正的XML解析器,否则您将得到一个非常复杂的代码,该代码在80%的时间内都无法工作,要么返回错误的数据,要么崩溃

即使在大多数无害的情况下,XML格式(尽管看起来很简单)也很复杂,而现有的XML解析器存在是有原因的。看到或看到很多其他人


尽管如此,如果您下定决心自己解析XML,正确的方法是首先标记输入,然后确保您的标记序列产生正确的形式。这比使用simple
fscanf()

要复杂得多,谢谢,不,我不在乎自己解析它,我会检查有哪些库可用。