itoa ersetzen std::to_string, wie
Wie kann ich diese ersetzen
itoa(i, buf, 10);
key1.append(buf);
key2.append(buf);
key3.append(buf);
mit std::to_string
itoa gab mir einen Fehler, es wurde nicht deklariert in Umfang, dass Ihr nicht Teil der standard -
Hörte ich, die ich verwenden kann std::to_string
zu machen, eine andere version wie mache ich das?
- Hier ist ein Verweis. Es beinhaltet sogar ein Beispiel.
- Was genau ist das problem? Nicht
std::to_string(i)
es lösen? Das problem ist, dass dies schafft einestd::string
, aber Sie brauchen einechar *
? - dies wäre nur möglich, mit C++11 richtig?
- Ja,
std::to_string
existiert nur in C++11. Wenn Sie auf der Suche für eine Lösung, die mit C++98/03, Sie können nichtstd::to_string
.boost::lexical_cast
wird oft empfohlen als alternative (aber erfordert, dass Sie die relevanten Header aus der Boost-library). Und natürlichstd::ostringstream
wie bereits in den Antworten ist eine weitere alternative.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie C++11, können Sie
std::to_string
oder Sie konnte einfach
std:stringstream
Verwenden itoa () - Funktion, müssen Sie include stdlib.h-Datei, dann sehen Sie keine Fehler bei der Verwendung von itoa().
itoa
ist nicht Teil des Standards und möglicherweise nicht zur Verfügung; in diesem Fall erhalten Sie die Fehlermeldung.