Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вектор структур
|
|||
|---|---|---|---|
|
#18+
VS2015, Win32. Заполнение вектора структур InfoCert. Вопрос: Создать указатель на структуру? Если да, то можно пример. // DataBase.h========================================================= #pragma once #include <wincrypt.h> #include <vector> namespace Program { class DataBase { public: DataBase(); ~DataBase(); typedef struct { //Структура Info LPTSTR cName; LPCTSTR SerialNumber; }Info; int n = 100; //Максимальное количество объектов структуры int i; //индекс для номера объекта, для использования цикла std::vector<Info> InfoCert; //вектор InfoCert std::vector<Info>::iterator it; //итератор it Info obj; //обЪект вектора obj void setczName(LPTSTR cName, int i); //фукнция для заполнения cName LPCTSTR getcName(int i); //фукнция для получения cName void setSerialNumber(LPCTSTR SerialNumber, int i); //фукнция для заполнения SerialNumber LPCTSTR getSerialNumber(int i); //фукнция для получения SerialNumber }; } //DataBase.cpp================================================================== #include "stdafx.h" #include "DataBase.h" #include <windows.h> namespace Program { DataBase::DataBase() { } DataBase::~DataBase() { } void DataBase::setcName(LPTSTR cName, int i) { InfoCert.push_back(obj); InfoCert.at(i).cName = cName; } LPCTSTR DataBase::getcName(int i) { for (it = InfoCert.begin(); it != InfoCert.end(); it++) { it->cName = InfoCert.at(i).cName; return (InfoCert.at(i).cName); } } void DataBase::setSerialNumber(LPCTSTR SerialNumber, int i) { InfoCert.push_back(obj); InfoCert.at(i).SerialNumber = SerialNumber; obj.SerialNumber = SerialNumber; } LPCTSTR DataBase::getSerialNumber(int i) { for (it = InfoCert.begin(); it != InfoCert.end(); it++) { it->SerialNumber = InfoCert.at(i).SerialNumber; return (InfoCert.at(i).SerialNumber); } } } // Другой класс================================================================= //AddList.cpp==================================================================== #include "DataBase.h" #include <vector> #include <windows.h> namespace Program{ AddInList::AddInList() { } AddInList::~AddInList() { } DataBase s; //Объект класс DataBase //====================================================================== UINT AddInList::addCert(HWND hList) { for (int i = 0; i<sizeof(s.InfoCert); i++) { //Цикл для заполнения вектора // тут должна быть функция которая получает значение pszName // для понимания вопроса функцию не писала pszName =cName; s.setcName(cName, i); //Вызов метода класса DataBase для заполнения первого свойства // тут должна быть функция которая получает значение pCryptKeyProvInfo->pwszContainerName // для понимания вопроса функцию не писала pCryptKeyProvInfo->pwszContainerName = SerialNumber; s.setSerialNumber(SerialNumber, i); //Вызов метода класса DataBase для заполнения второго свойства объекта } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 06:44 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2018737]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
164ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 280ms |
| total: | 542ms |

| 0 / 0 |
