Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
11 / 11 / 1
Регистрация: 23.03.2010
Сообщений: 15
1

разбор строк вида параметр=значение

24.04.2010, 18:25. Просмотров 1154. Ответов 1
Метки нет (Все метки)

Есть файл с набором строчек:
параметр=12345
Нужен самый быстрый способ инициализировать набор переменных int из этого файла проблема в том что переменных около 100 а параметры в файле написаны в разнобой.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2010, 18:25
Ответы с готовыми решениями:

Тождество (разбор строк)
Вам необходимо проверить домашнюю работу Васи Пупкина, в которой он написал равенство. Например,...

Найти ошибку | Разбор строк
#include <iostream> #include <string> #include <windows.h> using namespace std; int...

Построить три вида фигуры. На месте вида спереди и вида слева совместить часть вида с частью разреза

Построить три вида фигуры. На месте вида спереди и вида слева совместить часть вида с частью разреза - AutoCAD
Меня уже совсем выносит. Правильно ли я делаю?.. Не могу представить нормально вид слева. Что делаю...

1
Эксперт С++
1660 / 1032 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
24.04.2010, 19:14 2
Лучший ответ Сообщение было отмечено kin63camapa как решение

Решение

Цепочка рассуждений простейшая. Не будем скрывать того факта, что имена переменных существуют только до компиляции. Потом это уже всего лишь смещения. Следовательно, тебе надо установить связь между символьным обозначением величины и переменной. Поскольку переменных много, ручной поиск был бы безумием. Следовательно, связи "строка-адрес переменной" должны быть упакованы в таблицу, поиск в которой можно осуществлять циклом. Поскольку все параметры int, переменные можно легко упихать в состав связи:
C++
1
2
3
4
struct Parameter{
    const char* const Name;
    int Value;
};
В массиве из таких структур можно и хранить свои параметры.
C++
1
2
3
4
Param params[] = {
    {"FirstParameter", 3},  // Второе число в скобках - значение по умолчанию
    {"SecondParameter", 7}
};
К сожалению, есть небольшое неудобство в том, что обращаться к этим значениям в ходе работы программы придётся опять же через сопоставленные им строки:
C++
1
2
// вместо int x = FirstParameter + SecondParameter; надо писать
int x = GetParam("FirstParameter") + GetParam("SecondParameter");
Реализация функций int GetParameter(const char* name) и void SetParameter(const char* name, int value) тривиальна и сложностей не составит. Линейный поиск в данном случае вполне уместен.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2010, 19:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Объекты: параметр-значение и параметр-переменная
Если сделать код таким: type TPos=object ax,ay:integer; constructor...

Как предать айди с кнопки или вообще вида в параметр екшена в контроллере ?
я попробовал так сделать Прописал в кнопке формы айди id' => '555'] Html::a('Удалить...

Разбор строк
Добрый день,изучаю Питон относительно недавно,разбирал пример,который парсит лог Апача и строит...

Разбор строк
Найти все вхождения строки T в строке S. Входные данные В первой строке входного файла INPUT.TXT...


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

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

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