ich weiß dass es für mein Vorhaben sprintf oder dtostr gibt, aber ich möchte verstehen was da passiert.
Vorallem benötige ich eine schlankere Funktion, denn das ganze ziehlt irgendwann auf einen Microcontroller.
Im nächsten Schritt soll eine Float Zahl dahingehend zum String konvertiert werden.
Könnte mir vielleicht Jemand erklären, was genau an gewissen stellen passiert?
Was auch klar ist, ein vorzeichen wird bis jetzt noch nicht ausgewertet.
Code: Alles auswählen
int main (void)
{
// definiere und deklariere
// eine constanten character
char const digit[] = "0123456789";
// definiere und deklariere
// ein character
char b[5];
// definiere einen pointer
char *b_p;
// definiere den pointer mit
// dem indexstelle 0
b_p = &b[0];
// definiere und deklariere
// einen Integer
int m = 77;
// definiere und kopiere
// den integer m nach shifter
int shifter = m;
// ab hier gibt es von meiner seite
// verständnisprobleme
// Führe diese schleife
// mindestens einmal aus.
do
{
// -->?
++b_p;
// -->?
shifter = shifter/10;
}
while(shifter);
// -->?
*b_p='\0';
do
{
// -->?
*--b_p = digit[m%10];
// -->?
m = m/10;
}
while(m);
// gebe den umgewandelten string aus
printf ("Ergebnis == %s \n", b);
// gebe eine 0 zurück
// um das main erfolgreich
// zu beenden
return 0;
}
Wieso kann ich dieses Vorhaben nur mit Pointer realisieren?
Vielen Dank fürs Lesen.
Und Danke für die Mühe.