2011-01-01 4 views
2

So habe ich in letzter Zeit SFML verwendet und ich fragte mich, wie ich zu sf :: String "hinzufügen" könnte.SFML zu sf :: String hinzufügen?

Zum Beispiel:

sf::String exampleText; 
exampleText.SetText("I say: "); 
exampleText += "Blah"; 

Ergebnis: "Ich sage: Blah"

Antwort

5

sf :: string bietet nicht ein append-Methode, die sinnvoll ist, da sie eine Klasse für die grafische Anzeige von Text anstelle einer traditionellen String-Klasse sein soll.

Sie müssen also Ihre String-Manipulation/-Anhang-Operationen hinter den Kulissen mit Ihren üblichen Char-Array/String/Stringstream-Klassen durchführen und dann sf :: string :: SetText aufrufen, um sie zu aktualisieren.

+0

* headdesk * People Sag mir, ich brauche mehr Schlaf. Ich sollte anfangen, ihnen zuzuhören. Vielen Dank. – Lemmons

+0

Kein Problem, und ich kenne das Gefühl: D –

3
sf::String exampleText; 
exampleText.SetText("I say: "); 
std::wstring toAppend(L"Blah"); 
exampleText.SetText(exampleText.GetUnicodeText() + toAppend); 

bereite. Ich habe nie verwendet.

GetUnicodeText gibt std::wstring zurück. Und mit der + kann es funktionieren. Versuch es.

OR (jetzt, dass ich die sf docs besser sah)

exampleText.SetText(exampleText.GetText() + "Blah");

GetText() kehrt std :: string SetText() Akzeptiert wstring und string

+0

-1 Weil GetUnicodeText() (offensichtlich) kein Mitglied von sf :: String ist. ;) – Lemmons

+0

@Lemmons, http://www.sfml-dev.org/documentation/1.3/classsf_1_1String.htm – Muggen

+0

http://www.sfml-dev.org/documentation/2.0/classsf_1_1String.htm –