nixp.ru v3.0

17 октября 2017,
вторник,
09:14:56 MSK

DevOps с компанией «Флант»
Gabriel написал 22 января 2008 года в 04:02 (536 просмотров) Ведет себя неопределенно; открыл 1 тему в форуме, оставил 9 комментариев на сайте.

Есть ли библиотека (С/С++), которая умеет парсить конфиг на предмет сабжа?

myst

Есть в сети библиотека, которая умеет парсить Apache-like конфиги. Может подойдёт тебе. А если тебе просто нужно считать из файла массив произвольной длинны, то:

double x;

vector vx;

while (cin >> x) {

vx.push(x);

}

Кажется как-то так. Года 4 уже на C++ не писал…

Gabriel

'cin’? разве это не консольный ввод? можно и просто считать из файла, главное, чтобы это происходило уже в рантайме, а не во время компиляции

myst

Какая, млять, разница, какой это ввод?! Ну сделай:

ifstream fin(«…»);

double x;

vector vx;

while (fin >> x) {

vx.push(x);

}

Что, что-то сильно изменилось?!

Gabriel

А хуле ты нервный такой?

И что, оно будет в рантайме считывать?

Code Monkey

Будет считывать в рантайме.

можно и просто считать из файла, главное, чтобы это происходило уже в рантайме, а не во время компиляции

Йа плакалЪ.

Gabriel

Имелось в виду что не #include «file.conf», а то и такое уже советовали. Все млять умнеки кругом, только почему-то никто ни в чем не шарит, только на форумах срать горазды. Сорри, накипело.

Gabriel

По теме: такой способ мне не подходит, потому что это должет быть полноценный конфиг, с кучей параметров, среди которых попадаются векторы произвольной длины.

myst

Нервный я потому, что я показал тебе принцип, а ты настолько туп, что не можешь даже понять, о чём я тебе толкую, и начинаешь выцыганивать готовое решение. Сорри, тоже накипело.

А с лабами — в соотв. раздел форума.

Gabriel

Да уж, 3.14здец принцип для config файла — «cin >> » Спасибо, о мудрейший, и прости, что не в состоянии был постичь глубину твоего наставления.

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

myst

А какая разница из какого файла считывать?! Ещё раз: в чём принципиальная разница между:

ifstream fin(«…»);

double x;

vector vx;

while (fin >> x)

vx.push_back(x);

и

double x;

vector vx;

while (cin >> x)

vx.push_back(x);

В том, что внутри цикла изменился 1 символ?!

<font color=«blue»>Вот</font> тебе готовое решение, не плачь.

Gabriel

А кто говорил, что есть какая-то разница? А, ну да, это ты к моему второму сообщению прицепился что ли? Ну так можно было ответить: «не ссы, новичок, со стороны файла тоже можно организовать поток», так нет мля, мы ж супергуру, а остальные — они так, погулять вышли и тупые. Ладно, не мне тебя, взрослого человека наверное, таким вещам учить… По теме: я ж говорю о векторах произвольной длины, а у него там триплеты какие-то ( struct {int a, b, c}. Это даже не смешно.

myst

Слышь, а чё ты придираешься тут? Это я должен за тебя гуглить? Это я должен за тебя TC++PL читать, если уж ты решил писать на C++? Я тебе что-то должен? Ты спросил, я ответил. Если тебе что-то не нравится, то запомни, что тут никто ничего тебе не обязан и не должен. Ферштейн?

Gabriel

Ты прав, это безрезультатно. Гуглить никто за меня не должен, я и сам уже достаточно погуглил. Но если тебе нечего сообщить мне, кроме «cin»,"struct { int a,b,c }», и того что я туп, то ты ведь мне ничего не должен — отойди в сторонку и оxzевай от умопомрачительной глубины собственных знаний. Компрендес?

Code Monkey

Чуваааг, ты долбоёб. (а я злобный тролль) :)

И хуёвый программист. Тебе дали решение, а ты не способен врубиться в то, как его применить в рамках своей задачи.

нормальный программист СНАЧАЛА почитает K&R или Страуструпа(в зависимости от языка), осознает и найдет готовое решение в гугле.

Gabriel

Ути-пути, еще один умненький. Чувак, прочитай поставленный мной вопрос — ищется библиотека, способная вытащить из конфига (среди прочего) вектор, размер которого определен в том же самом конфиге. struct {int a,b,c} — это по-твоему решение? Если да, до ты видимо, настолько туп, что не в состоянии вникнуть в суть вопроса, и K&R тебе не помог.

myst

Бля, мудило, напиши сам парсер конфига. Это что, архисложная задача?

Heavy

Gabriel, для твоего сведения, эти самые триплеты используются для задания точки в трёхмерном пространстве, и более того, это используется только в примере программы, использующей данный парсер, а к реализации самого парсера отношения, как это ни странно, не имеет. Для того, чтобы посмотреть реализацию, надо смотреть class header и class definition, хотя, судя по твоим постам, много пользы тебе это не доставит. Поэтому проще посмотри, как использовать этот парсер, и наслаждайся халявой :)

ЗЫ: А вообще такие вещи на пёрле писать надо :)

Gabriel

>эти самые триплеты используются для задания точки в трёхмерном пространстве, и более того, это используется только в примере программы

ОК, моя вина, проглядел. Триплет не в классе декларирован. Но даблы оно все равно не умеет читать :)

>надо смотреть class header и class definition, хотя, судя по твоим постам, много пользы тебе это не доставит

О хоспди, ещё один. Программисты, или кто вы там, я не понимаю, вы что, так и не сумели избавиться от своих подростковых комплексов, или откуда в вас, анонимных, столько недружелюбной агрессии и предосудительности? Или вы и есть подростки? :/

>такие вещи на пёрле писать надо

я почему-то считал, что эти вещи давно уже написаны и на перле и на си, и на чём угодно, и что люди в теме и с опытом укажут мне, непрофессионалу на них, но видимо придётся учитывать, что бывают здесь люди также в чём-то ущемлённые, с потребностью к анонимному самовыражению.

Heavy

>я почему-то считал, что эти вещи давно уже написаны и на перле и на си, и на чём угодно, и что люди в теме и с опытом укажут мне, непрофессионалу на них

Хм… а ссылка, приведённая myst’ом — это разве не то самое готовое решение, которое ты жаждал? А остальное — вызвано лишь твоим непониманием языка (которое ты, кстати, не оспариваешь) и твоими попытками доказать обратное (это я к тому, что перед тем как лезть в исходники не самого интуитивно понятного языка, и уж тем более делать какие-то выводы и спорить с кем бы то ни было, неплохо бы сначала прочитать соответствующую литературу). Без обид, но подросток — это ты.