Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 393
#1

Добавить аргументы в массив и считать - C++

04.04.2013, 21:23. Просмотров 190. Ответов 0
Метки нет (Все метки)

Здравствуйте.

Как это реализовать? По сути мне нужен динамический массив. Теперь подробней в чем суть.


Есть функция,где я получаю допустим такую структуру:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            WRITE_BYTE( 106 );
            WRITE_COORD( 1493.943481 );
            WRITE_COORD( -515.377319 );
            WRITE_COORD( 73.896065 );
            WRITE_COORD( -8.600349 );
            WRITE_COORD( 2.652168 );
            WRITE_COORD( 0.000000 );
            WRITE_COORD( 78.576340 );
            WRITE_COORD( 20.525637 );
            WRITE_COORD( 124.943565 );
            WRITE_ANGLE( 72.861328 );
            WRITE_SHORT( 160 );
            WRITE_BYTE( 2 );
            WRITE_BYTE( 25 );
            WRITE_BYTE( 1 );

Все WRITE_ могут быть в любом порядке и кол-ве.

Мне эту стркутуру надо как-то записать,чтоб потом её можно было опять получить,как это сделать?

Я могу получить доступ к этим структурам:
C++
1
2
3
4
5
6
7
void WriteCoord(float flValue)
{
}
 
void WriteAngle(float flValue)
{
}


Я думаю,что необходимо возможно сделать enum со всем списком WRITE_,далее во всех void Write делать счетчик,как-то запоминать....запоминать и значения еще..


Покажу на наглядном примере:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
int MSGID_Brass;
 
namespace EVENTS
{
    int g_Byte;
 
    bool Hook_Brass = false;
}
 
void MessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
{
    MSGID_Brass = GET_USER_MSG_ID(PLID, "Brass", NULL);
 
    if( msg_type == MSGID_Brass  )
    {
        EVENTS::Hook_Brass = true;
    }
}
 
void WriteByte(int iValue)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}
 
void WriteCoord(float flValue)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}
 
void WriteAngle(float flValue)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}
 
void WriteShort(int a)
{
    if(EVENTS::Hook_Brass)
    {
        EVENTS::g_Byte++;
    }
}

Вот запуск этого:


C++
1
2
3
4
5
6
7
8
9
void MessageBegin(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
{
    MSGID_Brass = GET_USER_MSG_ID(PLID, "Brass", NULL);
 
    if( msg_type == MSGID_Brass  )
    {
        EVENTS::Hook_Brass = true;
    }
}
Далее я знаю какие мне использовать WRITE_ Я уже даже там счетчик сделал,в итоге у меня выйдет:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            WRITE_BYTE( 106 );
            WRITE_COORD( 1493.943481 );
            WRITE_COORD( -515.377319 );
            WRITE_COORD( 73.896065 );
            WRITE_COORD( -8.600349 );
            WRITE_COORD( 2.652168 );
            WRITE_COORD( 0.000000 );
            WRITE_COORD( 78.576340 );
            WRITE_COORD( 20.525637 );
            WRITE_COORD( 124.943565 );
            WRITE_ANGLE( 72.861328 );
            WRITE_SHORT( 160 );
            WRITE_BYTE( 2 );
            WRITE_BYTE( 25 );
            WRITE_BYTE( 1 );

Но как это все сохронить,чтоб потом вывести это же когда мне нужно?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2013, 21:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить аргументы в массив и считать (C++):

Как добавить запятую в аргументы макроса? - C++
есть макрос который должен принимать строку в которой есть запятые как это сделать? void some_fun(const char * arg_1, unsigned int...

Как на это код добавить аргументы функции main? - C++
#include <iostream> #include <fstream> #include <iomanip> #include <cstdio> #include <Windows.h> using namespace std; int...

Нужно записать массив в файл, а потом из этого файла считать этот же массив - C++
Помогите, пожалуйста, никогда с файлами делов не имела. Нужно записать массив в файл, а потом из этого файла считать этот же массив. ...

Считать массив А с файла a.txt. после чего сформировать массив С в котором все отрицательные элементы с масси - C++
Помогите написать программу на C++. Изучала этот язык меньше пол года, пока есть проблемы. очень нужна ваша помощь Считать массив А с файла...

Считать текст из файла, добавить в конце каждого предложения, количество вхождений в него заданного слова - C++
Вот задание: Написать программу, которая считывает текст из файла и выводит его на экран, добавляя после каждого предложения, сколько раз...

Аргументы функции: что значит "большие" и "небольшие" аргументы? - C++
Здравствуйте! Всем доброго дня! Растолкуйте пожалуйста! Что значит большие и небольшие?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2013, 21:23
Привет! Вот еще темы с ответами:

Структура "ФИО": считать из файла, добавить запись - C++
#include <string.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <io.h> #include <fcntl.h> #include...

Считать из файла в массив - C++
Добрый день форумчани, у меня маленькое недопонимание. В смысле я не могу считать из файла в МАССИВ, данный массив есть объектом главного...

Считать массив А(n) из файла - C++
Колокол. Считать массив А(n) из файла. В массиве наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее...

Считать с файла в массив - C++
Подскажите, как считать посимвольно из файла в двумерный массив через fscanf? например в файле: ав сd и если посимвольно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru