locale Problem



  • Ich habe hier in meinem Debian als default-locale de_DE.UTF-8 - soweit auch ganz toll.

    Jetzt verwendet mein Programm Konfigurationsdateien, in denen ein Dezimalpunkt bei den Gleitkommazahlen angegeben wird - mit der Locale erwartet aber die glibc ein Komma als Dezimalzeichen.

    Das ändern der Konfigurationsdatei macht wenig Sinn, dann müsste ja für verschiedene Sprachen verschiedene Konfigurationsfiles verwendet werden, das sind aber Sprachunabhängige Settings.

    Mein erster Versuch war ein std::setlocale(LC_ALL, "en_GB") was aber zu keiner Besserung geführt hat.

    ein LANG="" ./programm hingegen funktioniert

    Hat irgendjemand vorschläge?

    EDIT://
    Immer wenn ich zum posten ansetze findet sich die Lösung:

    std::setlocale(LC_NUMERIC, "C");



  • C- oder C++-Locales?

    Mal abgesehen davon reicht es, LC_NUMERIC zu setzen, am Besten auf "C".



  • Jop genau die richtige Lösung (hab's 'reineditiert, hatte deinen Post noch nicht gehabt)

    Danke 🙂


Anmelden zum Antworten