5 Stimmen

Wie erhält man das Äquivalent von printf_l unter Linux?

Diese Funktion existiert unter OS X und erlaubt es Ihnen, der Funktion ein benutzerdefiniertes Gebietsschema zu übergeben. setlocale ist nicht thread-sicher, die Übergabe des Gebietsschemas als Parameter hingegen schon.

Wenn es kein Äquivalent gibt, ist jede Art von lokal-unabhängigem printf oder printf nur für Doubles (%g) in Ordnung.

4voto

Sunlight Punkte 2093

Sie könnten versuchen uselocale die das Thread-Locale (und nicht das Prozess-Locale) vor dem Aufruf von printf .

1voto

Paweł Hajdan Punkte 17384

Es gibt lokal-unabhängige Double-zu-String-Konvertierungsroutinen unter http://www.netlib.org/fp/ . Die Konvertierung von String in Double ist ebenfalls verfügbar. Die API ist nicht sehr schön, aber der Code funktioniert.

0voto

Larry Gritz Punkte 12601

Es gibt eine ganze Familie von ortsunabhängigen sprintf-Routinen als stb_sprintf: https://github.com/nothings/stb Es ist doppelt lizenziert, als Public Domain (wo möglich) und MIT-Lizenz.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X