| Посл.ответ |
Сообщение |
|
Создано: 1 июня 2006 16:56:04 Личное сообщение #1
В общем, вот:
Программа читает файл вида:
[section1]
ptr1=val1
...
ptrn=valN
..................
[sectionN]
ptr1=val1
...
ptrn=valN
В общем, нужно создать класс, который читает данные из какой - то одной определённой секции и заносит их в массив (причём массив, где все переменные индексируются именами).
Например, первый элемент массива будет "Array [ptr1]". Как это реализовать? Я программирую на асме и ВБ, а С++ - знаю только основы  ...
----- ПОДПИСИ - ХЛАМ |
|
|
Создано: 1 июня 2006 17:07:33 Личное сообщение #2
погугли по ключевым словам *C++ ini файлы* или чото типа этого и будет тебе щастье
|
|
Создано: 1 июня 2006 18:25:27 Личное сообщение #3
если хочешь на С++ и без ini-файлов - используй std::map
|
|
Создано: 1 июня 2006 18:51:27 Личное сообщение #4
API функцию глянь GetPrivateProfileStringA (читаем данные из INI файлов).
----- Computer Security Laboratory
|
NG Ранг: 145.8 (ветеран) Статус: Участник www.int3.net
|
Создано: 1 июня 2006 23:39:11 Личное сообщение #5
[HEX] пишет:
API функцию глянь GetPrivateProfileStringA
+1. если действительно хоть что-то написал на асме, то на плюсы перепишешь за полчаса максимум.
STL юзать не стоит, разбираться будешь дольше =)
|
|
Создано: 2 июня 2006 00:34:11 Личное сообщение #6
[HEX]
NG
-2
Юзать GetPrivateProfileStringA - дурной тон.
This function is provided only for compatibility with 16-bit Windows-based applications. Applications should store initialization information in the registry.
А так вообще Myk дал хороший совет, с использованием контейнера map подобная задача решается быстро.
|
NG Ранг: 145.8 (ветеран) Статус: Участник www.int3.net
|
Создано: 2 июня 2006 01:30:47 Личное сообщение #7
mrX пишет:
Юзать GetPrivateProfileStringA - дурной тон.
в данном случае - нихера подобного.
если внимательно прочитать цитату, то дойдет, что это актуально для проектировки приложений, а не для простых задачек.
|
|
Создано: 2 июня 2006 01:56:45 Личное сообщение #8
mrX
не нужно вырывать фразу из контекста
The GetPrivateProfileString function retrieves a string from the specified section in an initialization file. This function is provided for compatibility with 16-bit Windows-based applications. Win32-based applications should store initialization information in the registry.
я сам решаю хранить мне в реестре или использовать ini, по моему мнению ini кошернее
|
|
Создано: 2 июня 2006 14:05:09 · Поправил: mrX Личное сообщение #9 |
|
Создано: 2 июня 2006 14:15:33 Личное сообщение #10
mrX пишет:
проблемы при переходе на следующее поколение Windows.
назови не системную winapi функцию которая была в 9х и которой нет в хр
помоему таких нет
|
|
Создано: 2 июня 2006 15:35:37 · Поправил: Asterix Личное сообщение #11
mrX
Ты прочитал только первое предложение(This function is provided only for compatibility with 16-bit Windows-based applications.) и сделал неправльный вывод ;)
По мнению MS интерфейс ini устарел и следует использовать реестр, но не функции
устарели.
Если тебе это не очевидно используй реестр как советует MS(Applications should store initialization information in the registry.).
|
|
Создано: 2 июня 2006 15:48:35 Личное сообщение #12
Crawler пишет:
В общем, нужно создать класс, который читает данные из какой - то одной определённой секции и заносит их в массив (причём массив, где все переменные индексируются именами).
Идёшь сюда:
hххp://www.rsdn.ru/search/
Вводишь:
Класс работы ini
Получаешь результат.
|
|
Создано: 2 июня 2006 17:55:51 Личное сообщение #13
Спасибо всем, хоть я и мало что понял  А переписать с asm на С++ - трудно, если ты в последнем ничего не смыслишь ...
----- ПОДПИСИ - ХЛАМ |
NG Ранг: 145.8 (ветеран) Статус: Участник www.int3.net
|
Создано: 2 июня 2006 19:12:51 Личное сообщение #14
mrX пишет:
Конечно никто не запретит использовать устаревшие функции, но не известно, какие могут возникнуть проблемы при переходе на следующее поколение Windows.
никаких проблем не возникнет. вспоминая товарища Чена: "знаете ведь, что в венде вот это сделано криво. а знаете почему? ради совместимости с дремучими версиями, да."
|
|
Создано: 3 июня 2006 14:47:57 Личное сообщение #15
Как вариант - ручками написать сканнер и несложный синтаксис/семантику для этого всего. Если надо, исходник сканнера у меня есть.
|
|
Создано: 3 июня 2006 15:37:50 Личное сообщение #16
А можно сделать еще проще +) Зачем изобретать велосипед, если другие люди уже все сделали до вас?
ВЫВОД:
1. Идешь на http://koders.com/
2. Выбираешь язык, в твоем случае C++
3. Устанавливаешь Text1.Text = "GetPrivateProfileString" (для тех, кто в танке поясню: вбиваешь искомую строку)
4. Давишь на кнопку Search
Вылазит всякой хрени много, ищещь там да ивсе, там точно есть!!!!! +)))))))
|
|
Создано: 3 июня 2006 15:40:51 Личное сообщение #17 |
|
Создано: 4 июня 2006 01:00:29 Личное сообщение #18 |
|
Создано: 4 июня 2006 07:52:16 Личное сообщение #19
И это курсовик???
У нас лаба по хеш-таблицам на втором больше была!
|
|
Создано: 5 июня 2006 12:04:43 Личное сообщение #20
Ну... Я - криптограф, а не кодер по образованию. И курс тоже второй.
Еще раз всем спасибо, вы мне очень помогли. С++ сдал на 5 только что =)
----- ПОДПИСИ - ХЛАМ
|
|
Создано: 5 июня 2006 19:49:52 Личное сообщение #21
Мои поздравления. А вот у нас 30 - спец. глаы, они же - *опа, они же - виселица. Верёвку мылю вот...
|
|
Создано: 6 июня 2006 23:52:46 Личное сообщение #22
Да ладно, у нас зато теория чисел - тоже виселица была...
----- ПОДПИСИ - ХЛАМ
|
|
Создано: 7 июня 2006 03:11:41 · Поправил: mrX Личное сообщение #23
Crawler пишет:
Да ладно, у нас зато теория чисел...
Один из интереснейший курсов из тех, что были в универе в мое время.
|
|
Создано: 7 июня 2006 11:27:22 Личное сообщение #24
Ну, согласен, это не философия какая - нибудь. К криптованию имеет прямейшее отношение.
----- ПОДПИСИ - ХЛАМ
|