Подскажите, есть файл вида: test.xml
<?xml version="1.0" encoding="UTF-8"?>
<authorization>
<user name="user1" login="login1" password="password1">
<role type="rerrer"/>
<role type="engineer"/>
</user>
<user name="user2" login="login2" password="password2" role="operator" />
<user name="user3" login="login3" password="password3" role="engineer" />
<user name="user4" login="login4" password="password4" role="installer" />
</authorization>
Делаю разбор этого файла с помощью библиотеки tinyxml2. Создаю структуру.
CAuthorizationData.h
#ifndef CAUTHORIZATIONDATA_H
#define CAUTHORIZATIONDATA_H
#include <string>
#include <vector>
namespace Authorization
{
struct CAuthorizationData
{
struct CUserData
{
std::string _name;
std::string _login;
std::string _password;
enum class RolesType
{
_none,
_viewer,
_operator,
_engineer,
_installer
};
std::vector<RolesType> _roles;
};
std::vector<CUserData> _users;
};
}
#endif // CSETTINGSDATA_H
main.cpp
#include <iostream>
#include "tinyxml2.h"
#include "CAuthorization.h"
using namespace std;
using namespace tinyxml2;
using namespace Authorization;
int main(int argc, char *argv[])
{
CAuthorization userInfo;
if (userInfo.Load ("impr1_auth.xml"))
{
for (const auto &User: userInfo.Data()._users)
{
cout << "Name: " << User._name << endl;
cout << "Login: " << User._login << endl;
cout << "Password: " << User._password << endl << endl;
}
}
return 0;
}
Подскажите, как вывести роли на экран, если есть такое условие
// - бит 0=1 - viewer
// - бит 1=1 - operator
// - бит 2=1 - engineer
// - бит 3=1 - installer
#define VIEWER 0x01
#define OPERATOR 0x02
#define ENGINEER 0x04
#define INSTALLER 0x08
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можно ли при помощи printf подсчитать количество букв в строке? если можно то каким способом или можно это сделать по другому?
Пишу консольную игру 2048 и столкнулся с проблемой отсутствия стандартных функций С++ считывания нажатий на стелки на клавиатуреgetch() не работает,...
Всего лишь скачать,и посмотреть документацию? Ничоси легко!
Задача состоит в том, что есть два классаВ экземпляре одного из принимаются на вход данные (например чтение из файла) и после обработки передается...