C'est effectivement un des cas où les flux C++ sont pas très bien adaptés.
Tu as d'autres alternatives pour les chaines formatées comme la classe autosprintf fournie avec gettext, ou bien Boost.Format qui gérent en interne leur propre flux. Best of both worlds comme on dit.
Pour revenir à Qt, la solution recommandée c'est d'utiliser la méthode arg de QString qui offre la souplesse et une sûreté de typage comparable à celle de Boost.Format.
Par ailleurs, l'utilisation de std::endl au lieu de '\n', n'est pas forcément recommandé, std::endl force le flush du buffer d'écriture, à utiliser avec modération.
[^] # Re: Une si bonne API
Posté par GeneralZod . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 3.
Tu as d'autres alternatives pour les chaines formatées comme la classe autosprintf fournie avec gettext, ou bien Boost.Format qui gérent en interne leur propre flux. Best of both worlds comme on dit.
Pour revenir à Qt, la solution recommandée c'est d'utiliser la méthode arg de QString qui offre la souplesse et une sûreté de typage comparable à celle de Boost.Format.
Par ailleurs, l'utilisation de std::endl au lieu de '\n', n'est pas forcément recommandé, std::endl force le flush du buffer d'écriture, à utiliser avec modération.