ich weiss manchmal nicht, wann ich ' oder " verwenden muss.
Bei der seriellen Ausgabe via Serial.print wird ja " um die zu sendenden Zeichen gesetzt.
Baue ich ein Switch-Case-Konstrukt wird ' verwendet, wenn ich nach einem bestimmten Zeichen abfragen will.
Wie ist es nun, wenn ich ein einzelnes Zeichen (char) einer Funktion übergeben möchte?
Ist da dann function('L'); oder function("L"); richtig und vor allem warum?
Chris72622:
Ist da dann function('L'); oder function("L"); richtig und vor allem warum?
In der Programmiersprache C/C++ werden char-Konstanten in einzelne Hochkommas eingeschlossen und nullterminierte Stringkonstanten (Textliterale) zwischen doppelte Hochkommas.
Also 'L' ist ein einzelner Großbuchstabe und "L" ist ein Zeichen langer (nullterminierter) String.
Die Serial.print Funktion kann als Parameter sowohl ein einzelnes Zeichen als auch einen nullterminierten String verarbeiten, also bei der Funktion wäre es egal, ob Du ihr ein einzelnes Zeichen übergibst oder einen ein Zeichen langen String.
Bei der seriellen Ausgabe via Serial.print wird ja " um die zu sendenden Zeichen gesetzt.
Das geht nur weil die Methode überladen ist. Und "T" ruft die gleiche Version auf wie "Test". Sauber ist trotzdem nicht, da "T" einen 2-Byte String im RAM anlegt.
switch/case geht in C/C++ nur mit Datentypen die implizit in Integer-Konstanten konvertierbar sind. In anderen Sprachen wie C# oder Java (aber erst in späteren Version) geht das teilweise auch mit Strings.
Ich würde ja mal ein C++ Grundlagen Buch oder Tutorial empfehlen.
Tipp:
Nicht nur unter das Kopfkissen legen, sondern auch lesen.
String und Char Definition/Verarbeitung sind Grundlagen.
Ich kann mir gar nicht vorstellen, wie man sich fast 5 Jahre mit Arduinoprogrammierung beschäftigen kann ohne je den Drang zu entwickeln, sich da kundig zu machen....
(zumindest bis jetzt... OK, besser spät als nie ...)
Ich will gar nicht wirklich wissen, was da sonst noch für klaffende Lücken sind....
(Doch! Ich will es wohl wissen, aus rein morbidem Interesse)
Ich kann mir gar nicht vorstellen, wie man sich fast 5 Jahre mit Arduinoprogrammierung beschäftigen kann ohne je den Drang zu entwickeln, sich da kundig zu machen....
combie, das hatten wir doch schon
Ich werkel auch schon lange mit dem arduino rum, aber ob Du's glaubst oder nicht: ich habe bisher noch NIX mit chars und strings gemacht und sicherlich mit ganz vielen anderen Dingen die Du kennst auch nicht. Ist halt ne Frage was man machen möchte und wie viel Zeit man reinsteckt.
Nicht immer von sich auf andere schließen - geht meist in die Hose