Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122

Посоветуйте парсер с минимальным набором инстализации json, xml, ini

20.03.2015, 15:15. Показов 1746. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, нужен парсер чего-нибудь что переводит текст в переменной string в обычные С++ переменные.
Есть сервер на php, который может генерить в форматах любых каких скажете текст (на основе того что будет вводится оператором) это все сохраняется в какую-то html страничку, где с++ раз в 5 секунд будет считывать все что есть на странице в переменную string. Вопрос в том какой ПАРСЕР мне использовать для перевода значений из string в нужные мне переменный, структура файла на сервере будет примерно такое:

(Есть ли изменения) : (да),
(массив значений) : (
(1порт) : (1),
(2порт) : (1),
(3порт) : (0),
(4порт) : (1),
)
Требование к парсеру:
1. скопировал *.h и *.cpp заголовки, проинклюдил *.h и работаешь
2. минимальный набор строк инстализации

П.С. Если у вас есть лучшее предложение единственное что я умею это подключать .lib к проекту, или построить решение с помощью cmake потом открыть sln и построить решение.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2015, 15:15
Ответы с готовыми решениями:

Json или XML парсер по url
<Translation code="200" lang="en-ru"> <text> Текст </text> </Translation> или ...

XML или JSON парсер для STM32F407
Здравствуйте! Посоветуйте, пожалуйста, парсер xml или json форматов(нужен именно древовидный формат) для STM32F407. Парсер должен...

Посоветуйте парсер XML
Посоветуйте парсер XML с поддержкой Schema, желательно с исходниками, но можно и без них. И еще такое наблюдение. Если подключить...

7
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.03.2015, 15:28
Ничего не понял.. Набор чего? Для "примерно такого" нужен какой-нибудь JSON-парсер.
0
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
20.03.2015, 15:41  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
JSON-парсер
Да знаю я, связывался... Но там же библиотек этих дофига, а половину не работает, что-то пытался делать
http://kfni.ho.ua/cpp/1_connec... _2008.html (мой сайт) но мне показалось слишком много лишних телодвижений + я DOM и как он работает не понимаю, ноды какие-то фиг пойми для чего они...
Цитата Сообщение от castaway Посмотреть сообщение
Набор чего
картинка
Это не то что много, но например массив считать, то там дофига текста, и помню много хлопот у меня с этой либой было....
А хочется чего-нибудь простого, топорного даже....
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.03.2015, 15:58
Цитата Сообщение от Валеркуй Посмотреть сообщение
который может генерить в форматах любых каких скажете текст
Раз так, то генерируй данные в самом просто формате, например первая строка - имя, вторая строка - значение.
Парсить такие данные в ручную проще простого.
0
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
20.03.2015, 16:03  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
например первая строка - имя
Ну да, и места меньше... А нужной функцией не обделите? Когда-то встречал, но давно...
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.03.2015, 16:12
Лучший ответ Сообщение было отмечено Валеркуй как решение

Решение

C++
1
2
3
4
5
6
7
8
9
#include <cstdio>
 
int main() {
    const char * p = "name\nvalue\n";
    char name[64];
    char value[64];
    sscanf( p, "%s%s", name, value );
    printf( "%s\n%s\n", name, value );
}
1
 Аватар для Валеркуй
2 / 2 / 3
Регистрация: 17.06.2013
Сообщений: 122
20.03.2015, 16:22  [ТС]
Цитата Сообщение от castaway Посмотреть сообщение
const char * p = "name\nvalue\n";
А вот еще напоследок вопрос: у меня данный приходят в формате string и в кодировки utf-8
если я за место массива чаровского, стринг кину(с кирилицей), то никаких ошибок не будет?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.03.2015, 16:30
Не должно быть. В любом случае можно проверить что получится.
C++
1
sscanf( s.c_str(), "%s%s", name, value ); // если s - string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2015, 16:30
Помогаю со студенческими работами здесь

Выдать N рублей минимальным набором купюр
В кассе имеются купюры достоинством в К рублей и в 1 рубль. Выдать N рублей минимальным набором купюр заданного достоинства.

Напечатать слова с максимальным и минимальным набором символов
Напечатать слова с максимальным и минимальным набором символов

Компактная установка Visual Studio с минимальным набором компонентов
Добрый день. Мне нужно на планшет на 8.1 поставить VS. Потому, что носить весь день с собой ноут, что бы сдать 1 лабу не удобно, но...

Каким минимальным набором файлов и кода в них должен обладать проект?
Каким минимальным набором файлов и кода в них должен обладать проект, чтобы его можно было запустить без ошибок ? Студия слишком много...

Создайте класс пользователя социальной сети с минимальным набором данных (ФИО, дата рождения)
Задание. 1. Социальная сеть. Создайте класс пользователя социальной сети с минимальным набором данных (ФИО, дата рождения). Каждый...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru