Другое С/С++ Вопрос - Ответ

Harryss

Участник
233
26
Если нужна библиотека с фишками C++ 11/14, то лучший выбор это: nlohmann/json(https://github.com/nlohmann/json)
Небольшое введение на русском: Как могла бы выглядеть поддержка JSON в современном С++(https://habr.com/ru/company/infopulse/blog/254075/)
Запись должна осуществляться с помощью библиотеки fstream? Перерыл сайты, но видимо криво сделал. Запись объекта в файл.
C++:
json obj;
obj["Theme"] = "Black wallpaper";

std::ofstream fout("./SAMPFUNCS/img.json");
fout.write((char*)&obj, sizeof(obj));
fout.close();
 
Последнее редактирование:

Harryss

Участник
233
26
Ты почитал хоть документацию? Этот объект json, а не строка. Используй obj.dump().
Насчет работы с файлами: http://cppstudio.com/post/446/
Сейчас вчитался в документации и статью на хабре, но не отыскал чтение содержимого. Отыскал следующее, но как я понял с помощью этого нельзя работать с самим содержимым JSON'а
C++:
std::vector<std::uint8_t> v = {'t', 'r', 'u', 'e'};
json j = json::parse(v);

Находил гайды по JSONcpp и RapidJSON по чтению данных, в этой - нет.
 
Последнее редактирование:

#Rin

Известный
Всефорумный модератор
1,214
1,036
Сейчас вчитался в документации и статью на хабре, но не отыскал чтение содержимого. Отыскал следующее, но как я понял с помощью этого нельзя работать с самим содержимым JSON'а
C++:
std::vector<std::uint8_t> v = {'t', 'r', 'u', 'e'};
json j = json::parse(v);

Находил гайды по JSONcpp и RapidJSON по чтению данных, в этой - нет.
C++:
json::parse();
 
  • Нравится
Реакции: Harryss

AnWu

Guardian of Order
Всефорумный модератор
4,690
5,189
Форматирование кода
а как из строки в объект. я чет туплю

Короч такой проблемс. использую json парс, пытаюсь получить из переменной данные:

json users = json::parse(res);
SF->getSAMP()->getChat()->AddChatMessage(-1, users[1]['user'].get<std::string>().c_str());

Нихера не выходит ;c

json users = json::parse("{\"Loh_Loh\"}");
SF->getSAMP()->getChat()->AddChatMessage(-1, users[1].get<std::string>().c_str());

???
 

cover

Известный
Проверенный
245
273
а как из строки в объект. я чет туплю

Короч такой проблемс. использую json парс, пытаюсь получить из переменной данные:

json users = json::parse(res);
SF->getSAMP()->getChat()->AddChatMessage(-1, users[1]['user'].get<std::string>().c_str());

Нихера не выходит ;c

json users = json::parse("{\"Loh_Loh\"}");
SF->getSAMP()->getChat()->AddChatMessage(-1, users[1].get<std::string>().c_str());

???
Decode json in c++(https://stackoverflow.com/questions/19628637/decode-json-in-c)
 

F11GAR0.

Потрачен
0
57
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
0393: actor $PLAYER_ACTOR perform_animation "Gun_2_IDLE" at 4@ times_normal_rate
адрес хуйни плиз
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подскажите как понять, что установлен SAMP ADDON
 
Последнее редактирование:

index

Известный
126
82
Подскажите как понять, что установлен SAMP ADDON
У последних версий audio.asi имеет такой Version Info. У предыдущих - не знаю, возможно тоже самое.
Код:
1 VERSIONINFO
FILEVERSION 2,1,0,0
PRODUCTVERSION 0,0,0,0
FILEOS 0x0
FILETYPE 0x0
{
BLOCK "StringFileInfo"
{
    BLOCK "04090025"
    {
        VALUE "FileDescription", "SA-MP Addon library"
        VALUE "LegalCopyright", "Copyright © Absolute Play www.gta-samp.ru"
        VALUE "CompanyName", "Absolute Play www.gta-samp.ru"
        VALUE "ProductName", "SA-MP Addon"
        VALUE "InternalName", "audio"
        VALUE "ProductVersion", "v2.4"
        VALUE "Comments", "Modification for GTA San Andreas"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0409 0x0025
}
}
Но это не гарантирует установленный включенный аддон на 100%, этот файл могут просто оттуда использовать. Еще множно в реестре поискать, при установке туда информация для деинсталляции аддона пишется.
 
Последнее редактирование:
  • Нравится
Реакции: LaRossa