Eigenes "itoa" für wchar_t?



  • Hi,

    ich möchte gerne ein eigenes itoa schreiben jedoch nicht für char* sondern für wchar_t*.

    Jetzt habe ich folgendes Probiert:

    #include <iostream>
    #include <string>
    
    std::wstring myNumberToWchar_t (double value)
    {
        wchar_t buffer[128];
        swprintf(buffer, L"%f", value);
        return buffer;
    }
    
    int main (void)
    {
        std::wcout << myNumberToWchar_t (9451.5);
    
        std::wcin.get();
        return 0;
    }
    

    Geht wunderbar! Leider ist die Ausgabe etwas doof wegen den vielen Nullen am Ende.

    Ja ich weiß, es geht auch mit StringStreams, aber ich möchte gerne wenn nur die string klasse benutzen ohne Zusatzlibs.

    Bei Ganzzahlen hab ich mir gedacht mit einer Schleife, Modulo und immer um 1 Kommastelle teilen. Aber bei Dezimalzahlen geht das nicht 😞

    Wie bekomme ich das hin ohne StringStreams sondern _nur_ mit std::wstring?

    Großes Danke im voraus!



  • Afaik bietet Visual Studio für die meisten Standard-Stringfunktionen eine UNICODE- (wchar_t) und generische (TCHAR) Version an. *nachguckt* auf der Seite findest du die Zusammenhänge - _itow() dürfte das richtige sein.


Anmelden zum Antworten