002
19.10.2008, 20:25 Uhr
zac
|
Ich benutze ja die locale, das hat mich ja eher weniger verwundert. Ich hatte mich nur gefragt ob es vielleicht ein Flag o.ä. gibt, womit sich Tausendertrennzeichen da einfach abschalten lassen... sprintf lässt sich allerdings scheinbar nicht von der locale beeinflussen, was das mit den Tausendertrennzeichen angeht... (locale::global(...)) ruft ja auch setlocale mit dem entsprechenden String auf...
Der Weg mit imbue ist mir auch eingefallen, allerdings ist es doch relativ aufwändig, eine locale aus dem String zu bilden (zumindest wenn ich mich recht an die Dokumentation erinnere, die ich mal dazu gelesen habe). Ich nehme mal an es wird einfacher sein in der Klasse die ich für die einzelnen Locales und Sprachen so oder so schon habe eine globale Instanz der "C"-locale zu speichern und dann jedes Mal zu holen. Oder weiterhin sprintf zu benutzen, was ja, wenn ich das richtig sehe, keine gute Idee ist, wenn das nun von der Plattform abhängt, ob das sich nun an die globale C++-locale hält oder nicht.
Edit: Naja... mit der globalen Instanz der "C"-Locale funktioniert das jetzt jedenfalls wunderbar ohne größeren Aufwand. -- mov eax,0f9h push 2 push 2 mov edx,esp int 2eh Dieser Post wurde am 19.10.2008 um 21:07 Uhr von zac editiert. |