Лучший способ сохранить va_list для последующего использования в C / C ++

Я использую va_list для создания строки, которая отображается.

void Text2D::SetText(const char *szText, ...)

Это все хорошо, но теперь у пользователя есть возможность менять язык во время работы приложения. Мне нужно восстановить все текстовые строки и повторно кэшировать текстовые растровые изображения после инициализации. Я хотел бы сохранить va_list и использовать его всякий раз, когда необходимо сгенерировать текст.

Чтобы дать вам дополнительную информацию, это должно произойти в случае, когда в ключевой строке, которую я перевожу, содержится динамический фрагмент данных.

"Player Score:%d"

Это ключевая строка, которую мне нужно перевести. Я хотел бы сохранить число (числа), предоставленное в va_list для последующего использования (вне области функции, которая инициализирует текст), в случае, если его нужно будет повторно преобразовать после инициализации. Предпочтительно я хотел бы иметь копию va_list для использования с vsnprintf.

Я провел некоторые исследования, чтобы сделать это, и нашел несколько способов. Некоторые из которых я подвергаю сомнению, является ли это подходящим методом (с точки зрения стабильности и переносимости).

Ответы на вопрос(5)

Ваш ответ на вопрос