Zum 100sten mal - Typecasting
-
Versuch mal static_cast.
-
wie wär es mal damit, kann man allgemein immer anwenden, egal was man wohin umwandeln will.
#include <sstream> #include <string> using namespace std; stringstream ss; string s; int a=3; ss << a; ss >> s; printf("%s", s.c_str());
P.S.: evtl. geht auch
char c[]; ss >> c;
...
hab ich aber nicht auf die schnelle ausprobiert
-
Romeo-G schrieb:
char rgb[]=(char) a;
Sind ja auch inkompatible typen, das eine ist ein char array also vom Typ her wie ein char * das andere ein einfacher char.
-
int a = 67; char *b; *b = (char) a; cout << *b;
-
Erstens führt das zu undefinierten Verhalten (da der Zeiger ins Nirwana zeigt) und zweitens erfüllt das auch nicht den Zweck, den der Fragesteller haben will.
Um eine Zahl in einen string umzuwandeln und umgekehrt gibt es die Möglichkeiten in der FAQ und boost::lexical_cast.
Das muss jetzt als Hilfestellung wirklich ausreichen, zumal du sogar schon ein komplettes Beispiel mit stringstreams bekommen hast.
-
Wie wäre es mit
char* itoa(int, char *, int);
MfG
-
Der Vorteil gegenüber einer C++ Vorgehensweise?
-
itoa sucks! total scheisse das dingen! sprintf und streams rulen du radde du!
-
Warum einfach, wenns auch kompliziert geht. *hehe*
Ist halt Ansichtssache...
MfG
-
Nicht Ansichtssache ist aber, dass itoa nichts mit Standard-C++ zu tun hat.
-
Kann ja sein, aber warum darf man es dann nicht verwenden?
MfG
-
Saiyaman schrieb:
Kann ja sein, aber warum darf man es dann nicht verwenden?
Weil nur auf deinem Compiler auf deiner PLattform läuft? Sobald du einen anderen Compiler verwendest, funktioniert es vielleicht nichtmehr und du musst den Sourcecode anpassen.