Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Der Datentyp Integer ist fest definiert. Dessen Eigenschaften lassen sich also normalerweise nicht ändern.
Was genau meinste du denn mit Zeichenlänge? Vielleicht suchst du den Typ "char". Dessen Länge, bzw. die Länge einer Instanz von eben diesem, kannst du "setzen", indem du einfach ein Array davon, also z.b. "char string[5]", erstellst.
Gruß, Martin
itoa ist nicht im Standard definiert. Und ostring.h ist auch kein Standard-Header. Die haben leider weder was mit (dem Sprachstandard) C noch C++ zu tun.
So bekommt man die Anzahl der Stellen eines int in der Dezimal-Darstellung:
Code:
#include <cmath> /// #include <math.h> in C, in C++ cmath
int x = 4545466;
int anzStellen = static_cast<int>(log10(x)) + 1;
Ich hoffe mal, das ist was Du willst. Bin aus deiner Frage ehrlich gesagt immernoch nicht schlau geworden.
Hups, kleiner Bug Für Werte <= 0 ist obige Funktion nicht definiert.
Nochmal neu:
Code:
#include <cmath>
int x = 546456;
int anzStellen = x ? static_cast<int>(log10(fabs(x))) + 1 : 1;
Das ? : find ich zwar immer wieder hässlich, aber es erfüllt hier seinen Zweck.