-         

Ergebnis 1 bis 6 von 6

Thema: string in zahl umwandeln

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    string in zahl umwandeln

    Anzeige

    ich möchte über UART gesendeten string(eine zahl mit itoa) in zahl(int) beim empfänger umwandeln.
    mfg pebisoft

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.11.2004
    Ort
    München
    Alter
    30
    Beiträge
    447
    Hi,
    atoi ist das Ggegenstück zu itoa.
    MfG Alex

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo, vielen dank. klappt wunderbar. auch mit atol und atof.
    was bedeuten diese melden beim comp. :
    uart_empf.c:62: warning: implicit declaration of function `atoi'
    uart_empf.c:64: warning: implicit declaration of function `itoa'
    das programm läuft, aber manchmal erscheinen melden "implicit" , was heisst das eigentlich "implicit", wie gesagt, die programme laufen immer 100%.
    mfg pebisoft

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    du deklarierst die Funktion »atoi« implizit. D.h. dass sie bei Übersetzen von deinem Code nicht deklariert ist, also unbekannt. Das kann dann beim linken Probleme geben.
    Du musst das richtige Header-File includen, das deklariert die Funktion.

    implicit -> implizit. Siehe http://dict.leo.org

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hi

    Du mußt stdlib.h includieren.
    Dann sind die Warnungen weg.
    Sehr interessant das es dennoch funktioniert hat.

    LG
    Rubi

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    05.04.2005
    Beiträge
    66
    Zitat Zitat von Rubi
    Sehr interessant das es dennoch funktioniert hat.
    C eben.

    In C++ hätte das keine Warnungen, sondern Fehler ergeben.


    Übrigens: itoa ist keine Standard-Funktion (=nicht im C-Standard enthalten). Das solltest du immer im Hinterkopf behalten, wenn du itoa einsetzt. Das korrekte Vorgehen in C wäre die Funktion sprintf. Weil die für Mikrocontroller aber häufig überdimensioniert ist, bieten viele Bibliotheken eben (entgegen des Standards) die Funktion itoa an.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •