007
27.01.2007, 18:42 Uhr
0xdeadbeef
Gott (Operator)
|
Mathematisch gesehen hat die unendlich viele Ziffern, nur sind die meisten davon halt 0. Ich glaube, was du willst, ist weniger eine Zahl als mehr ein String, der zufällig halt Zahlen beinhaltet. Versuchs mal mit
C++: |
std::string s = "12345";
int anzahl_ziffern = s.size(); int ziffer[5];
ziffer[0] = s[0] - '0'; // von Zeichen zu Zahl umrechnen // ...
|
Merke dabei allerdings, das in dem Fall im Gegensatz zur vorherigen Umrechnung von links nach rechts, und nicht von rechts nach links, aufgerollt wird. ziffer[0] wäre hier also 1. Ansonsten, wenn du bei der Zahl bleiben willst, denkbar ist auch
C++: |
#include <sstream>
// ...
int zahl = 1234; std::istringstream isstr; int anzahl_ziffern;
isstr << zahl; anzahl_ziffern = isstr.str().size();
|
...das halte ich allerdings für einen etwas dreckigen hack. Ich würd an deiner Stelle wirklich die Leerzeichen in der Datei drinlassen, dann kannst dus gleich aufgespalten in ein array einlesen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 27.01.2007 um 18:44 Uhr von 0xdeadbeef editiert. |