Эквивалентность java.util.ResourceBundle в C++
У меня есть класс Java, который использует больше строк, похожих на следующие
private static final int PARAM_1 = Integer.valueOf(ResourceBundle.getBundle("solution.filtres").getString("filtre.param1.solution"));
private static final int PARAM_2 = Integer.valueOf(ResourceBundle.getBundle("solution.filtres").getString("filtre.param2.solution"));
и файл filtres.properties
нашел в solution
папка содержит:
filtre.param1.solution=1.5
filtre.param2.solution=6
я знаю это ResourceBundle
используется для локали пользователя, но кажется, что он просто присваивает значения статическим членам из определенного файла.
Я хочу сделать что-то подобное в C++. Я нашел это для C++, но это кажется немного странным из-за того, что он делает; поэтому я спрашиваю:
- Это что-то похожее на ResourceBundle в C++ (не то, что я нашел)? Если да, что и где я могу найти примеры?
- Вы советуете мне сделать это проще?
Я был бы признателен за некоторый код, если бы кто-то делал какие-то задания
2 ответа
Использование Boost и его pthree
парсер.xml или.json - лучший способ.
ResourceBundle позволяет извлекать текстовые данные для ключа, возвращая результат на основе указанной локали. Я не знаю точного соответствия этому в C++, но я хотел бы рекомендовать использовать GNU gettext() в качестве опции для реализации подобного типа поддержки интернационализации.