2009-07-17 6 views
0

Habituellement, j'utilise des flux pour le formatage des choses, mais dans ce cas, je ne connais pas le format avant l'exécution.C++ Runtime formatage de chaîne

Je veux être en mesure de prendre quelque chose comme la chaîne de format suivante:
Bonjour {0}! Votre dernière connexion a eu lieu le {1, date: jj/mm/aa}.
... et introduire les variables "Fire Lancer" et 1247859223, et finir avec la chaîne formatée suivante:
Hello Fire Lancer! Votre dernière connexion a eu lieu le 17/07/09.

Dans d'autres langues, j'utilise un support intégré pour ce genre de chose, p.ex. méthode de chaîne de caractères python, mais en C++ il ne semble pas y avoir une telle fonctionnalité, accepte les méthodes d'impression C qui ne sont pas très sûres .

Aussi pour un programme haute performance, toute solution doit analyser la chaîne de format une fois et la stocker (par exemple, une méthode Parse qui retourne un objet FormatString avec une méthode Format (string)), pas reparse la chaîne à chaque fois que la méthode de format est appelé ...

+3

Votre programme hautes performances accueille rapidement l'utilisateur? – GManNickG

+0

@GMan hahahahaha. Je me pose toujours cette question aussi –

Répondre

2

Votre chaîne de format ressemble beaucoup à celle utilisée dans l'unité de soins intensifs MessageFormat. Avez-vous envisagé de l'utiliser?