0

Возникла проблема с парсером tinyxml. Не коректно считывается кирилица. Вот код:

#pragma once
#include "./Tiny/tinyxml.h"
#include <iostream>

class Account { public: Account() { TiXmlDocument doc("111.xml"); if(doc.LoadFile()) { TiXmlElement* users = doc.FirstChildElement("users");

        TiXmlElement* user = users-&gt;FirstChildElement(&quot;user&quot;);

        std::cout &lt;&lt; atoi(user-&gt;Attribute(&quot;id&quot;)) &lt;&lt; std::endl;
        std::cout &lt;&lt; user-&gt;Attribute(&quot;name&quot;);
    }

}

};

Сам документ:

<?xml version="1.0" encoding="utf-8"?>
<users>
  <user id ="1" name = "Алекс"></user>
  <user id = "2" name = "Дмитрий"></user>
</users>

Результат выполнения: введите сюда описание изображения

  • Она считывается корректно, однако конвертировать кодировку для вывода в консоль за вас никто не будет. – user7860670 Jul 29 '21 at 15:26
  • Можете пожалуйста показать как сконвертировать ? – AndrewwSS Jul 29 '21 at 15:29
  • Я пробовал - SetConsoleCP(1251); (не работает) – AndrewwSS Jul 29 '21 at 15:31
  • На этот счет уже есть десяток вопросов... – user7860670 Jul 29 '21 at 15:32
  • с большой вероятностью, xml сохраненный в utf-8. Поэтому, классический костыль SetConsoleCP(1251); не поможет (да оно и не помогает почти никогда). – KoVadim Jul 30 '21 at 07:11

0 Answers0