Size: a a a

2021 February 21

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Artem Sokolovskiy
Как блин в спп использовать тип данных json? По типу:
auto data = { "h1": [3,8], "h2": {"h3":3,"h4":4} };
Берёшь nlohmann json
источник

IL

Ilya L in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Берёшь nlohmann json
Он уже сказал что это слишком сложно :)
источник

AS

Artem Sokolovskiy in C++ Together 2.0
Ilya L
Он уже сказал что это слишком сложно :)
Я когда пробовал, просто заколебался с выведением из файла
источник

CC

Chris Calvin 🦖 in C++ Together 2.0
Ilya L
Он уже сказал что это слишком сложно :)
Тем временем @Reodont парсит ямлы:
#include <yaml.h>

yaml_parser_t parser;
yaml_event_t event;

int done = 0;

/* Create the Parser object. */
yaml_parser_initialize(&parser);

/* Set a string input. */
char *input = "...";
size_t length = strlen(input);

yaml_parser_set_input_string(&parser, input, length);

/* Set a file input. */
FILE *input = fopen("...", "rb");

yaml_parser_set_input_file(&parser, input);

/* Set a generic reader. */
void *ext = ...;
int read_handler(void *ext, char *buffer, int size, int *length) {
   /* ... */
   *buffer = ...;
   *length = ...;
   /* ... */
   return error ? 0 : 1;
}

yaml_parser_set_input(&parser, read_handler, ext);

/* Read the event sequence. */
while (!done) {

   /* Get the next event. */
   if (!yaml_parser_parse(&parser, &event))
       goto error;

   /*
     ...
     Process the event.
     ...
   */

   /* Are we finished? */
   done = (event.type == YAML_STREAM_END_EVENT);

   /* The application is responsible for destroying the event object. */
   yaml_event_delete(&event);

}

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 1;

/* On error. */
error:

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 0;
источник

IL

Ilya L in C++ Together 2.0
Artem Sokolovskiy
Я когда пробовал, просто заколебался с выведением из файла
Ну добро пожаловать в мир без удобных джсон парсеров
источник

IL

Ilya L in C++ Together 2.0
(хотя нлохман удобный)
источник

AS

Artem Sokolovskiy in C++ Together 2.0
Artem Sokolovskiy
Я когда пробовал, просто заколебался с выведением из файла
Эт было ещё когда ток начинал учить😂
источник

IL

Ilya L in C++ Together 2.0
так у всех
источник

Z

Zarret in C++ Together 2.0
Chris Calvin 🦖
Тем временем @Reodont парсит ямлы:
#include <yaml.h>

yaml_parser_t parser;
yaml_event_t event;

int done = 0;

/* Create the Parser object. */
yaml_parser_initialize(&parser);

/* Set a string input. */
char *input = "...";
size_t length = strlen(input);

yaml_parser_set_input_string(&parser, input, length);

/* Set a file input. */
FILE *input = fopen("...", "rb");

yaml_parser_set_input_file(&parser, input);

/* Set a generic reader. */
void *ext = ...;
int read_handler(void *ext, char *buffer, int size, int *length) {
   /* ... */
   *buffer = ...;
   *length = ...;
   /* ... */
   return error ? 0 : 1;
}

yaml_parser_set_input(&parser, read_handler, ext);

/* Read the event sequence. */
while (!done) {

   /* Get the next event. */
   if (!yaml_parser_parse(&parser, &event))
       goto error;

   /*
     ...
     Process the event.
     ...
   */

   /* Are we finished? */
   done = (event.type == YAML_STREAM_END_EVENT);

   /* The application is responsible for destroying the event object. */
   yaml_event_delete(&event);

}

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 1;

/* On error. */
error:

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 0;
За що
источник

CC

Chris Calvin 🦖 in C++ Together 2.0
Chris Calvin 🦖
Тем временем @Reodont парсит ямлы:
#include <yaml.h>

yaml_parser_t parser;
yaml_event_t event;

int done = 0;

/* Create the Parser object. */
yaml_parser_initialize(&parser);

/* Set a string input. */
char *input = "...";
size_t length = strlen(input);

yaml_parser_set_input_string(&parser, input, length);

/* Set a file input. */
FILE *input = fopen("...", "rb");

yaml_parser_set_input_file(&parser, input);

/* Set a generic reader. */
void *ext = ...;
int read_handler(void *ext, char *buffer, int size, int *length) {
   /* ... */
   *buffer = ...;
   *length = ...;
   /* ... */
   return error ? 0 : 1;
}

yaml_parser_set_input(&parser, read_handler, ext);

/* Read the event sequence. */
while (!done) {

   /* Get the next event. */
   if (!yaml_parser_parse(&parser, &event))
       goto error;

   /*
     ...
     Process the event.
     ...
   */

   /* Are we finished? */
   done = (event.type == YAML_STREAM_END_EVENT);

   /* The application is responsible for destroying the event object. */
   yaml_event_delete(&event);

}

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 1;

/* On error. */
error:

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 0;
@hell0_my_fr, это тебе чтобы понял в каком мире живут плюсисты)
источник

AS

Artem Sokolovskiy in C++ Together 2.0
Chris Calvin 🦖
Тем временем @Reodont парсит ямлы:
#include <yaml.h>

yaml_parser_t parser;
yaml_event_t event;

int done = 0;

/* Create the Parser object. */
yaml_parser_initialize(&parser);

/* Set a string input. */
char *input = "...";
size_t length = strlen(input);

yaml_parser_set_input_string(&parser, input, length);

/* Set a file input. */
FILE *input = fopen("...", "rb");

yaml_parser_set_input_file(&parser, input);

/* Set a generic reader. */
void *ext = ...;
int read_handler(void *ext, char *buffer, int size, int *length) {
   /* ... */
   *buffer = ...;
   *length = ...;
   /* ... */
   return error ? 0 : 1;
}

yaml_parser_set_input(&parser, read_handler, ext);

/* Read the event sequence. */
while (!done) {

   /* Get the next event. */
   if (!yaml_parser_parse(&parser, &event))
       goto error;

   /*
     ...
     Process the event.
     ...
   */

   /* Are we finished? */
   done = (event.type == YAML_STREAM_END_EVENT);

   /* The application is responsible for destroying the event object. */
   yaml_event_delete(&event);

}

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 1;

/* On error. */
error:

/* Destroy the Parser object. */
yaml_parser_delete(&parser);

return 0;
/**/ для однострочных комментов ...
источник

CC

Chris Calvin 🦖 in C++ Together 2.0
(это гиперболизированный пример, но показательный)
источник

CC

Chris Calvin 🦖 in C++ Together 2.0
Artem Sokolovskiy
/**/ для однострочных комментов ...
1) Код не мой, это пример с главного сайта библиотеки
2) Конвенции кода везде разные
источник

Z

Zarret in C++ Together 2.0
Chris Calvin 🦖
1) Код не мой, это пример с главного сайта библиотеки
2) Конвенции кода везде разные
Но всё-таки
источник

Z

Zarret in C++ Together 2.0
Зачем писать говно
источник

Z

Zarret in C++ Together 2.0
Если можно не писать говно
источник

Z

Zarret in C++ Together 2.0
Или вообще не писать
источник

CC

Chris Calvin 🦖 in C++ Together 2.0
А где тут говно?
источник

Z

Zarret in C++ Together 2.0
источник

Z

Zarret in C++ Together 2.0
Chris Calvin 🦖
А где тут говно?
Оно возможно и не говно
источник