Forum: Compiler & IDEs Str to Int Funktion


von Flo S. (tuxianer)


Lesenswert?

Hi,
ich brauche für ein Programm diese Funktion. Ich habe jetzt diesen 
Algorithmus geschrieben:
1
    laenge=strlen(input);
2
    Exp=0;
3
    Nummer=0;
4
    for(i=laenge;i>0;i--) {
5
      Nummer=Nummer+(input[i-1]-48)*pow(10,Exp);
6
      Exp++;
7
    }

Er müsste eigentlich funktionieren...aber kann man das noch besser 
gestalten? Oder gibt es schon eine fertige Funktion dafür?

von Der Dude (Gast)


Lesenswert?

Das braucht unnötig massig Resourcen.

Verwende doch atoi aus stdlib.h

Der Dude

von Flo S. (tuxianer)


Lesenswert?

Vielen dank die Funktion kannte ich noch nicht. Sehr Praktisch.

von Der Dude (Gast)


Lesenswert?

...sag ich doch.

Schau Dir doch maleine Zusammenfassung der Bibliotheksfunktionen an, das 
spart oftmals viel Arbeit.

von Karl H. (kbuchegg)


Lesenswert?

Nur der Vollständigkeit halber (atoi ist sicherlich die
bessere Variante)

So kann man sich ein einfaches aoti für positive Zahlen
selber schreiben. Der Unterschied zum richtigen atoi liegt
in der Nichtauswertung eines möglichen Vorzeichens und in der
Fehlerbehandlung, wenn ungültige Zeichen im String sind.
1
int myAtoi( const char* string )
2
{
3
  int result = 0;
4
5
  while( *string )
6
    result = 10 * result + ( *string++ - '0' );
7
8
  return result;
9
}

PS: Welche C-Bücher liest du eigentlich, wenn du aoti nicht
kennst?

von Der Dude (Gast)


Lesenswert?

Naja, Karl-Heinz, nun sei mal nicht so streng. Jeder von uns musste das 
auch erst mal alles lernen.

von Karl H. (kbuchegg)


Lesenswert?

Der Dude wrote:
> Naja, Karl-Heinz, nun sei mal nicht so streng. Jeder von uns musste das
> auch erst mal alles lernen.

Das ist schon richtig.
Trotzdem braucht man zum Erlernen einer Programmiersprache
entdprechende Unterlagen. Das ist speziell im Falle von C
besonders wichtig. C lebt davon, dass der eigentliche
Sprachstandard minimalistisch ist, und alles weitere in
Form von Funktionen zur Verfügung gestellt wird.

von Der Dude (Gast)


Lesenswert?

Oder in Form von Funktionen selbst formuliert und so immer wieder 
verwendet werden kann.

Das ist der Witz an strukturierter Programmierung - dabei ist es 
wurscht, ob man mit Turbo-Pascal oder C angefangen hat. Das Prinzip ist 
immer das gleiche.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.