Thema: C++ Ausgabe von Strings

Einzelnen Beitrag anzeigen

Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Ausgabe von Strings

  Alt 26. Jul 2010, 11:03
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:
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);
}
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:

Code:
string getName() const   {return name;}
Ich hatte den Verdacht, dass string vllt. irgendwie kein normaler String ist, aber wenn ich mir die Definition anschaue, dann finde ich da
Code:
typedef basic_string<char, char_traits<char>, allocator<char> >
   string;
im Namespace std in der Datei xstring - ich würde also davon ausgehen, dass das ein normaler String ist.

Jetzt bin ich ratlos.

Was mache ich falsch?


Liebe Grüße,
Frederic


P.S.
Crossposting: http://www.c-plusplus.de/forum/viewt...s-1931979.html
Frederic Kerber

Geändert von fkerber (26. Jul 2010 um 14:38 Uhr)
  Mit Zitat antworten Zitat