#omnet
Вопрос:
Одной из наиболее широко используемых функций для генерации выходных данных в Omnet является recordScalar.
virtual void recordScalar (cComponent *component, const char *name, double value, opp_string_map *attributes=nullptr)=0
Существует ли более полная функция, чем recordScalar, которая хранит структурированные данные в виде значения вместо хранения двойного числа? Или кодируем его сами.
Или кодирование аналогичной функции для записи упомянутых выходных данных в текстовый файл в формате JSON с помощью этой функции?
Под структурированными данными я подразумеваю тип данных структуры в c . подобный этому:
struct logtype {
int src;
int dest;
int messagescount; // the count of messages transmitted between src and dest and vice versa
};
Спасибо
Комментарии:
1. Не могли бы вы уточнить, что вы подразумеваете под структурированными данными ? Не могли бы вы привести пример этих данных?
2. По словам @JerzyD. комментарий, я делаю вопрос более подробным.
Ответ №1:
OMNeT не содержит готового к использованию инструмента для хранения сложных структур. Однако OMNeT использует C , и можно написать собственный метод, который сохранит некоторые данные в текстовый файл, или в файл JSON, или в любой файл.
Комментарии:
1. Как можно написать собственный метод, который будет хранить некоторые данные в текстовом файле или формате JSON в любом месте моего проекта или пакета Inet и вызываться в любое время моделирования? Я ищу этот ответ в своем вопросе.
2. OMNeT — это в основном библиотека C . Ваш вопрос не относится к OMNeT , а скорее к C , т. Е. Как я могу написать функцию на C , которая записывает структурированные данные. И на этот вопрос есть мириады ответов. Используйте базу данных SQL (например, SQLITE или POSTRGRESQL) или используйте библиотеку XML или JSON, которая поддерживает сериализацию, или просто напишите свою собственную структуру данных в записи файла.