gibt es sowas wie IntToStr in C++?
-
string int2string (int i) { ostringstream of; of << i; return of.str(); }
tutorials siehe faq
-
Hier könnt ihr Fragen rund um Standard-C++ stellen. Dazu gehören auch Fragen zur STL bzw. zur Standardbibliothek. Compiler- und betriebssystemspezifische Fragen bitte in den jeweiligen Foren posten. Bevor ihr ein neues Thema startet, benutzt bitte die Suchfunktion und werft
einen Blick in die FAQs.Konkret:
http://www.c-plusplus.net/forum/viewtopic.php?t=39488
-
sch***e is das kompliziert
aber ich habs bis jetzt auch nur im C++ Builder probiert.
kann es sein, dass der Typ AnsiString gar nicht in der Standart Bibliothek enthalten ist?
-
olf schrieb:
sch***e is das kompliziert
hm
der FAQ-Eintrag erklärt das ganze doch extrem gut (notfalls macht man cpy und paste, ...)
olf schrieb:
aber ich habs bis jetzt auch nur im C++ Builder probiert.
das sollte keinen Unterschied machen, oder auf was beziehst du die Aussage ?
olf schrieb:
kann es sein, dass der Typ AnsiString gar nicht in der stan**** Bibliothek enthalten ist?
Wie meinst du das ?
meinst du einen basic_string<char> oder ?(btw. wieso wird standard ausge*)
edit: test: standart
edit2: ahh, na das is ja nett
-
AnsiString ist die Stringklasse der VCL.
Hat nix mit Standard C++ zu tun.Devil
-
Gabs da nicht itoa(...) für ints bzw. fcvt(...) für floats/decimals im stdlib?
-
wie wär's mit boost::lexical_cast? www.boost.org
-
stdlib gibt es nicht, stdlib.h ist veraltet und cstdlib ist eine Bibliothek aus C, die man in C++ eigentlich nicht mehr nutzen sollte.
-
Mis2com schrieb:
stdlib gibt es nicht, stdlib.h ist veraltet und cstdlib ist eine Bibliothek aus C, die man in C++ eigentlich nicht mehr nutzen sollte.
Also irgendwann ist es auch mal gut. stdlib ist eine gebräuchliche Abkürzung für Standard Library und kein Grund extra pedantisch zu werden. Und wenn du schon Erbsen zählst, dann bitte korrekt. cstdlib ist keine Bibliothek sondern ein Header, den man selbstverständlich gerne auch noch in C++ verwenden kann.
Davy Crockett V(_)V schrieb:
Gabs da nicht itoa(...) für ints bzw. fcvt(...) für floats/decimals im stdlib?
itoa ist keine Standard-Funktion ebensowenig wie fcvt.
-
aha.
ja ich weiß nicht, wie ich das im C++ Builder anwenden soll.
aber hab ja dieses wo-e zeit
trotzdem danke für die antworten, und den Link zu den FAQ's.
mfg
Olf
-
Du schreibst einfach miller_ms code in den Editor und hast dann eine funktion int2string, die Ints in Strings umwandelt. Genauso kannst du auch jedes andere Verfahren anwenden. Fürr boost::lexical_cast (mein Favorit) musst du boost von www.boost.org runterladen.
-
was die Konvertierung eines ints in einen String anbelangt kannst du auch die funktion sprintf verwenden. Diese schreibt in einem Buffer, also nicht auf die Standartausgabe. Du kannst damit in ne Datei schreiben oder auch in eine einfache Variable.
wenn du z.B. nen
int value = 5 hast
brauchst du dafür erstmal deinen buffer:
char buf [5];
jetzt kannst du mit sprintf so deinen wert in buf schreiben:
(void)sprintf ("%d", &buf, (int) value);
das %d bedeutet dabei, dass es sich um einen numerischen Wert handelt. Willst du einen String dortreinschreiben nimmst du eben %s oder für ne speicheradresse %p. Kannst dir die Flags ja mal in nem buch oder der msdn oder so anschauen
gruß Para
-
Para schrieb:
(void)sprintf ("%d", &buf, (int) value);
Ich würde &buf in buf ändern und "%d" mit buf tauschen lassen. Dann würde ich das (void) und das (int) weggeben und hätte folgendes:
sprintf(buf, "%d", value);Wobei streams und vorallem lexical_cast wesentlich schöner sind.