
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.11.2003, 10:20
|
|||
|---|---|---|---|
|
|||
работа с ini файлом |
|||
|
#18+
Подскажите как на VC++ 6.0 считать все значения секций(можно одной секции) в ini файле. Как считывать конкретное значение я знаю. Срочно надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2003, 17:22
|
|||
|---|---|---|---|
|
|||
работа с ini файлом |
|||
|
#18+
Platform SDK: The GetPrivateProfileSectionNames function retrieves the names of all sections in an initialization file. Note This function is provided only for compatibility with 16-bit Windows-based applications. Applications should store initialization information in the registry. Код: plaintext 1. 2. 3. Parameters lpszReturnBuffer [out] Pointer to a buffer that receives the section names associated with the named file. The buffer is filled with one or more null-terminated strings; the last string is followed by a second null character. nSize [in] Specifies the size, in TCHARs, of the buffer pointed to by the lpszReturnBuffer parameter. lpFileName [in] Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter is NULL, the function searches the Win.ini file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. The GetPrivateProfileSection function retrieves all the keys and values for the specified section of an initialization file. Код: plaintext 1. 2. 3. 4. Parameters lpAppName [in] Pointer to a null-terminated string specifying the name of the section in the initialization file. lpReturnedString [out] Pointer to a buffer that receives the key name and value pairs associated with the named section. The buffer is filled with one or more null-terminated strings; the last string is followed by a second null character. nSize [in] Specifies the size, in TCHARs, of the buffer pointed to by the lpReturnedString parameter. Windows 95/98/Me: The maximum buffer size is 32,767 characters. lpFileName [in] Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. Ну и пример, без всяких проверок Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.11.2003, 18:19
|
|||
|---|---|---|---|
|
|||
работа с ini файлом |
|||
|
#18+
Кстати, этот вариант не будет работать с UNICODE. Замени std::cout на std::wcout или воспользуйся макросом _tprintf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 08:13
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
Доброго всем времени стуток. Ситуация следующая, я написал программу на Си и возникла потребность считывать в нее параметры из ini файла. Так как Си работает со строками как с массивами, считывать файл по символьно или построчно не подходит, так как в дальнейшем прийдется их анализировать. Слышал, что есть библиотека по Си, которая работает с ini файлами. Не охото изобретать велосипед. Может кто подскажет, есть такая библиотека, и если есть, то какие функции в ней реализованы? Содержание файла : IN_PORT = 10100 REMOTE_PORT = 10200 REMOTE_IP = 192.168.250.126 TIME_OUT = 5000 Возможно есть какие то другие функици, для того что бы считать данный файл, получив значения числовых переменных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 09:50
|
|||
|---|---|---|---|
|
|||
работа с ini файлом |
|||
|
#18+
посмотри в справке классы TRegIniFile, TRegistry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 10:01
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
pandrewпосмотри в справке классы TRegIniFile, TRegistry Так это в билдере, а мне нада для Си (обычный, не Си++)... Может есть какой нибудь заголовочный файл? Может кто сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 11:07
|
|||
|---|---|---|---|
|
|||
работа с ini файлом |
|||
|
#18+
LepajТак это в билдере, а мне нада для Си тогда здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 12:49
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
pandrew LepajТак это в билдере, а мне нада для Си тогда здесь Я имел в виду немного не это, просто думал может есть какая нибудь библиотека, в которой описана функция, которая при считывание строки определенного вида возвращала автоматически разбивала бы ее на параметры, но похоже прийдется анализировать строки и выдирать из них требуемую информацию. Чтож, все равно спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 13:00
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
Lepaj pandrew LepajТак это в билдере, а мне нада для Си тогда здесь Я имел в виду немного не это, просто думал может есть какая нибудь библиотека, в которой описана функция, которая при считывание строки определенного вида возвращала автоматически разбивала бы ее на параметры, но похоже прийдется анализировать строки и выдирать из них требуемую информацию. Чтож, все равно спасибо. А чем не устраивает scanf ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 13:30
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
onstat-А чем не устраивает scanf ? Я не понял ее синтаксиз, ей можно считать строку IN_PORT = 10100 REMOTE_PORT = 10200 REMOTE_IP = 192.168.250.126 TIME_OUT = 5000 а потом не анализируя загнать 10100 в числовую переменную? А вообще я реализовывал считывание через - fgets(str1, 10, fp); и переводил в число. Но тогда в файле хранились только числовые значения, 10100 10200 192.168.250.126 5000 но начальник сказал, для юзера не удобно, так что переделай в вид приведенный выше :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 13:32
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
maXmo http://www.yandex.ru/yandsearch?rpt=rad&text=library+ini+files Спасибо, что то я не додумался на английском написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 14:48
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
fscanf(fp, "%s = %d\n", str1, &myint); - считывание числовых значений fscanf(fp, "%s = %s\n", str1, str2); - считывание строковых только надо строго за пробелами следить. в str1 идёт имя параметра и там должно быть достаточно места для этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.11.2006, 15:13
|
|||
|---|---|---|---|
работа с ini файлом |
|||
|
#18+
Lepaj onstat-А чем не устраивает scanf ? Я не понял ее синтаксиз, ей можно считать строку IN_PORT = 10100 REMOTE_PORT = 10200 REMOTE_IP = 192.168.250.126 TIME_OUT = 5000 а потом не анализируя загнать 10100 в числовую переменную? А вообще я реализовывал считывание через - fgets(str1, 10, fp); и переводил в число. Но тогда в файле хранились только числовые значения, 10100 10200 192.168.250.126 5000 но начальник сказал, для юзера не удобно, так что переделай в вид приведенный выше :( Конечно можно для целых это выглядит приблизительно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ps В имени параметра будут завершающие пробелы если они есть в файле перед '=' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2030068]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 496ms |

| 0 / 0 |
