mikrocontroller.net

Forum: Compiler & IDEs Str to Int Funktion


Autor: Flo S. (tuxianer)
Datum:

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


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

Autor: Der Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das braucht unnötig massig Resourcen.

Verwende doch atoi aus stdlib.h

Der Dude

Autor: Flo S. (tuxianer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen dank die Funktion kannte ich noch nicht. Sehr Praktisch.

Autor: Der Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...sag ich doch.

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.
int myAtoi( const char* string )
{
  int result = 0;

  while( *string )
    result = 10 * result + ( *string++ - '0' );

  return result;
}

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

Autor: Der Dude (Gast)
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Der Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.