Moin,
ich habe im Netz nur Anleitungen um Chararrays nach Integer umzuwandeln. Ich möchte aber ein String zu einem Integer umwandeln.
Wie gehts?
Danke
Peter
Moin,
ich habe im Netz nur Anleitungen um Chararrays nach Integer umzuwandeln. Ich möchte aber ein String zu einem Integer umwandeln.
Wie gehts?
Danke
Peter
Die Klasse "String" kennt die Methode "toInt". Liefert einen long-Wert zurück (auch wenn sie toInt heißt). Ruft intern atol() auf um sich auf den internen char-Puffer der String-Klasse zu stürzen.
Es lohnt sich, bei Bedarf mal in die Datei WString.h bzw. WString.cpp (irgendwo tief verborgen unterhalb des Arduino-Verzeichnisses) zu schauen. Da kann man so manches entdecken.
Edit: Das Thema hatten wir schon mal. Siehe auch Reply #9 in diesem Thread:
Da gibt's auch einen Programm-Schnipsel bezüglich der Anwendung von toInt().
Viel Erfolg
Wolfgang
Da kann man so manches entdecken.
Man kann sehen, dass da unheimlich viel passiert ( dynamische Speicher-Verwaltung z.B., und das wo ein Arduino fast keinen RAM - Speicher hat )
Mein Vorschlag: nimm keinen String, sondern atoi ( char* )
.
Ich kämpfe auch gerade mit String und char. Hast Du Beispielseiten für deinen Tipp wo man mal sieht was wie gemacht wird?
Grüße
harding
google: c/c++ und char[], char* etc.
char test[]=" 12345"; // Ein Text mit einer Zahl drin
char test2[80] = "77"; // In Test2 könnten dynamisch noch längere Texte gespeichert werden.
int i = atoi(test); // i = 12345 Die Zahl selbst
i = atoi(test2); // i = 77
michael_x:
char test[]=" 12345"; // Ein Text mit einer Zahl drin
char test2[80] = "77"; // In Test2 könnten dynamisch noch längere Texte gespeichert werden.
int i = atoi(test); // i = 12345 Die Zahl selbst
i = atoi(test2); // i = 77
Wenn ich das richtig verstanden habe, sucht arduinosfish eine Umwandlung eines Strings der Arduino-Stringklasse in einen Integer und nicht die Umwandlung eines char-Arrays in einen Integer. Daher nochmal mein vorheriger Verweis auf die toInt()-Methode der String-Klasse.
Wenn er natürlich die Strings ganz wegwirft, ist das char-Array sicherlich ressourcen-sparender, aber eine String-Klasse ist in der Anwendung (meistens) deutlich komfortabler (z.B. Strings mit "=" zuweisen, statt mit strcpy() kopieren, mit "+" oder "+=" zwei Strings verbinden, statt mit strcat(), mit "==" oder "!=" auf Gleichheit testen, statt mit strcmp(), mit "<" oder oder "<" alphabetisch vergleichen, usw.).
[Edit]: Entschuldigung, ich sehe gerade, dass sich der Beitrag von michael_x an harding und nicht an arduinofish gerichtet hat und für dessen Frage sicherlich hilfreich ist.
Schönen Tag noch.
Wolfgang
danke. toInt hilft mir schon mal:)
und ich bedanke mich für das Beispiel zur Anwendung von atoi.
Viele Grüße
harding