Ziffern im Array ablegen
-
Hallo,
noch eine kleine Frage: Ich will die Zahl 34 derart in einem Array speichern, dass die 3 = A[0] und die 4 = A[1]. Gibt es da direkt einen Befehl für?
-
Mach aus der Zahl einen string und dann kannst du ganz einfach drüber iterieren.
std::stringstream s; int zahl = 234; std::string result; s << zahl; s >> result; std::cout << result[0]; // 2 std::cout << result[1]; // 3 std::cout << result[2], // 4
-
Da bekomm ich den Fehler, dass s eine undefinierte Klasse benutzt.
-
Tay_fun schrieb:
Da bekomm ich den Fehler, dass s eine undefinierte Klasse benutzt.
Binde
<sstream>ein!Tay_fun schrieb:
Gibt es da direkt einen Befehl für?
Befehle gibt's in C++ grundsätzlich nicht. Es gibt keine Funktion in der Standardbibliothek, die genau das leistet, was Du willst.
Etwas ähnliches kannst Du mit Stringstreams oder C-Style mit
sprintf( )machen.Für Dein Unterfangen hilft der Modulooperator:
#include <algorithm> void get_digits( unsigned char *dst, unsigned int src ) { size_t i( 0 ); while( src ) { dst[ i++ ] = src % 10; src /= 10; } std::reverse( dst, dst + i ); }cheers, Swordfish
-
Naja. Ich würde die Variante über sstream empfehlen, da das gefrickel mit den chars impelementierungsabhängig ist..
-
drakon schrieb:
[...] da das gefrickel mit den chars impelementierungsabhängig ist..
Wo ist was gefrickel und was ist mit "den chars" in welcher Weise "implementierungsabhängig"?
cheers, Swordfish
-
Swordfish schrieb:
drakon schrieb:
[...] da das gefrickel mit den chars impelementierungsabhängig ist..
Wo ist was gefrickel und was ist mit "den chars" in welcher Weise "implementierungsabhängig"?
cheers, Swordfish
Naja. Ich sehe im Standard nirgends, was chars für einen Zahlen Wert haben..