C++ - Set Locale über das gesamte Programm

I"m der Suche nach einem Weg, um das Gebietsschema festgelegt, die über das gesamte Programm, wenn das"s noch möglich.

Ich das Gebietsschema in meiner main-Funktion wie folgt:

int main()
{
    setlocale(LC_ALL, "");
    ....
    return 0;
}

Aber es doesn"t setzen Sie die locale auf meine verschiedenen Klassen/Methoden, die über das gesamte Programm. I"d eher nicht schreiben, diese Zeile oben auf jeder Methode, die gedruckt werden auf dem Bildschirm und das erstellen einer C++ - locale-Objekt und übergeben Sie es um nicht ganz das Gefühl akzeptabel.

Vielen Dank für Ihre Zeit.

  • setlocale bereits global, für die Dinge, die es eigentlich zu beeinflussen. Welche Arten von Sachen sind diejenigen, die andere Methoden verwenden? Soweit ich mich erinnere, setlocale wirkt sich auf die älteren "C-like" - APIs, aber nicht die touch-Sachen wie cout - und C++ - streams.
  • Ich habe eine Klasse die aus einer Datei gelesen und cout einige von dessen Inhalt. Es ist verschütten mich Müll, weil einige Buchstaben Akzente. setlocale set in der main, aber nicht scheint auf, dass die zweite Klasse.
  • Das ist nicht spezifisch genug, um auszuschließen, zahlreiche Möglichkeiten... Man könnte mit etwas, das setlocale nicht beeinflussen, wie std::fstream sind. Oder das Problem möglicherweise mit cout und die Konsole. Oder Ihre Datei die Daten in einer Codierung, die nicht konvertiert werden, die Art und Weise, die Sie erwarten. Etc. An diesem Punkt denke ich sollte man entweder die Bearbeitung dieser Frage oder post eine neue Abdeckung das eigentliche problem, du bist und poste den code, wie Sie das Lesen der Datei und das senden der Daten durch cout.
InformationsquelleAutor Tristan | 2014-09-06
Schreibe einen Kommentar