zahlen in wchar_t
-
hi leute,
ich habe eine funktion.
void print_text(const wchar_t* text, position<2d> pos) { // methode zum text ausgeben }
nun will ich aber auch zahlen übergeben, lassen. die methode die dann aber den text entgegennimmt erwartet nur const wchar_t*. Das ist eben der mist mit fertigen engines :-P.
Wie kann ich also int bzw float in wchar_t* konvertieren?
Ich habes schon mit basic_sirngstream probiert. mit geringem erfolg.danke für alle hilfe
mfg freaker
-
std::wstringstream wss; wss << 3.1415; std::wcout << wss.str() << std::endl;
Klappt!
-
Siehe FAQ. Es geht sehrwohl mit stringstreams.
MfG SideWinder
-
@David_pb:
ich habe deine idee mal probiert. funktioniert aber auch nicht. ich kriege immernoch als fehlermeldgun dass printtext() das erste argument nicht konvertieren kann. hier mein code:inline void print_text(wchar_t* text, rect<int> area) { device->getGUIEnvironment()->addStaticText(text, area); } std::wstringstream buffer; buffer << 3.1415; print_text(buffer.str(), rect<int>(10, 10, 300, 100));
-
Weil du ein const wchar_t* zurückbekommst. So wie du's im ersten Post auch als Parameter hattest.
-
ähh, du bist lustig, das ist die IrrlichtEngine, oder?
Die hat doch schon Konvertierungsmethoden, benutze irr::core::stringw.Der Klasse kannst du im Konstruktor int, float, char*, usw. übergeben und bekommst mit der Methode c_str() einen const wchar_t*.
Gruß
Don06