![]() |
Ausgabe von Strings
Hi!
Ich bin verwirrt ;) Ich versuche, in einem bestehendem Programm (nicht von mir) Strings auszugeben - ganz normal auf der Konsole. Leider fliegt es mir um die Ohren - und ich habe absolut keine Ahnung, was hier schief geht. Ich habe folgende Methode, in der ich das printf untergebracht habe:
Code:
Das Ganze stirbt ganz furchtbar - auf der Konsole steht ein Haufen Müll und danach stirbt die Anwendung. Schaue ich mir die Methode an, so sieht sie so aus:
const ResourceType *TechTree::getResourceType(const string &name) const{
for(int i=0; i<resourceTypes.size(); ++i){ if(resourceTypes[i].getName()==name){ printf("%s", resourceTypes[i].getName()); // <---- HIER return &resourceTypes[i]; } } throw runtime_error("Resource Type not found: "+name); }
Code:
Ich hatte den Verdacht, dass string vllt. irgendwie kein normaler String ist, aber wenn ich mir die Definition anschaue, dann finde ich da
string getName() const {return name;}
Code:
im Namespace std in der Datei xstring - ich würde also davon ausgehen, dass das ein normaler String ist.
typedef basic_string<char, char_traits<char>, allocator<char> >
string; Jetzt bin ich ratlos. Was mache ich falsch? Liebe Grüße, Frederic P.S. Crossposting: ![]() |
AW: Ausgabe von Strings
Hi!
Ok, Lösung dank C++-Forum gefunden ;) Printf kann nicht mit Objekten wie std::string, da es nur ein Überbleibsel aus C-Zeiten ist. Liebe Grüße, Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz