Эквивалентность 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++, но это кажется немного странным из-за того, что он делает; поэтому я спрашиваю:

  1. Это что-то похожее на ResourceBundle в C++ (не то, что я нашел)? Если да, что и где я могу найти примеры?
  2. Вы советуете мне сделать это проще?

Я был бы признателен за некоторый код, если бы кто-то делал какие-то задания

2 ответа

Решение

Использование Boost и его pthree парсер.xml или.json - лучший способ.

ResourceBundle позволяет извлекать текстовые данные для ключа, возвращая результат на основе указанной локали. Я не знаю точного соответствия этому в C++, но я хотел бы рекомендовать использовать GNU gettext() в качестве опции для реализации подобного типа поддержки интернационализации.

Другие вопросы по тегам