Я использую va_list для создания отображаемой строки.
Код: Выделить всё
void Text2D::SetText(const char *szText, ...)
Это все здорово, но теперь у пользователя есть возможность менять язык во время работы приложения. Мне нужно восстановить все текстовые строки и повторно кэшировать текстовые растровые изображения после инициализации. Я хотел бы сохранить va_list и использовать его всякий раз, когда необходимо сгенерировать текст.
Чтобы дать вам больше информации, это должно происходить в случае, когда ключ строка, которую я переводю, содержит динамический фрагмент данных.
Это ключевая строка, которую мне нужно перевести. Я хотел бы сохранить числа, указанные в списке va_list, для дальнейшего использования (за пределами функции, инициализирующей текст) на случай, если его потребуется повторно перевести после инициализации. Предпочтительно я хотел бы сохранить копию va_list для использования с vsnprintf.
Я провел некоторое исследование, чтобы сделать это, и нашел несколько способов. В некоторых случаях я сомневаюсь, что это подходящий метод (с точки зрения стабильности и переносимости).
Подробнее здесь:
https://stackoverflow.com/questions/156 ... use-in-c-c