Go Down

Topic: Array String Verständnisfrage (Read 644 times) previous topic - next topic

Chris72622

Hallo,

ist ein char-Array ein String?

Danke.

Gruß Chris
https://github.com/jeffThompson/DarkArduinoTheme

jurs


ist ein char-Array ein String?


Ein char-Array ist ein sogenannter C-String, der mit einem Nullzeichen abgeschlossen wird.
So wie hier: http://arduino.cc/en/Reference/String

Nicht zu verwechseln mit String-Objekten, so wie hier: http://arduino.cc/en/Reference/StringObject

Chris72622

Hallo Jurs,

danke für Deine Antwort, aber ich muss jetzt doch noch einmal ganz genau fragen:

Wenn ein alter "Programmierhase" von einem String spricht, meint er dann ehr einen C-String oder ein String-Objekt?

Ich frage mich z.B. was auf dieser Seite hier mit str gemeint ist:

http://arduino.cc/en/Serial/Write

Gruß Chris
https://github.com/jeffThompson/DarkArduinoTheme

vieledinge


Hallo Jurs,

danke für Deine Antwort, aber ich muss jetzt doch noch einmal ganz genau fragen:

Wenn ein alter "Programmierhase" von einem String spricht, meint er dann ehr einen C-String oder ein String-Objekt?


Kommt immer drauf an, also aufs genaue Sprachumfeld.

Man muss das IMHO eher anders betrachten: Sprichst Du von primitiven Datentypen (wie char) oder Objekttypen (wie String).


Ich frage mich z.B. was auf dieser Seite hier mit str gemeint ist:

http://arduino.cc/en/Serial/Write

Gruß Chris


Steht doch da: str: a string to send as a series of bytes

Wobei Write() mit mehreren unterschiedlichen Parametertyoen implementiert ist, siehe Doku:

val: a value to send as a single byte
str: a string to send as a series of bytes
buf: an array to send as a series of bytes

Die kannst Du je nach Bedarf nutzen, der Compiler kümmert sich darum die richtige Implementierung der Methode zu nutzen.

Chris72622

Da ich gerne zwei Arrays miteinander vergleichen möchte, man aber scheinbar nur Strings miteinander vergleichen kann, frage ich mich nun, wie man ein Array in eine. string wandelt.

Daher meine ursprüngliche Frage..

Geht das überhaupt?

Gruß Chris
https://github.com/jeffThompson/DarkArduinoTheme

markbee

Guck dir doch mal die Funktion "memcmp" aus <string.h> an. Vielleicht hilft dir das ja weiter.
XBee blog: http://lookmanowire.blogspot.com/

MaFu

Zum vergleichen gibts
int strcmp(const char *, const char *)
und
int memcmp(const void *, const void *, size_t)
_______
Manfred

jurs

#7
Jan 23, 2013, 09:40 am Last Edit: Jan 23, 2013, 09:42 am by jurs Reason: 1

Ich frage mich z.B. was auf dieser Seite hier mit str gemeint ist:

http://arduino.cc/en/Serial/Write


Das steht doch in dem Fall explizit dabei:
> str: a string to send as a series of bytes

Also ist dort ein C-String / char-Array gemeint, genau wie bei allen Library-Funktionen.

Go Up