PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : string in zahl umwandeln



pebisoft
13.05.2005, 19:44
ich möchte über uart gesendeten string(eine zahl mit itoa) in zahl(int) beim empfänger umwandeln.
mfg pebisoft

PasstScho
13.05.2005, 19:55
Hi,
atoi ist das Ggegenstück zu itoa.
MfG Alex

pebisoft
13.05.2005, 20:39
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

bluebrother
23.05.2005, 20:58
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

Rubi
09.06.2005, 14:01
Hi

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

LG
Rubi

lekro
09.06.2005, 15:20
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.