Array String Verständnisfrage

Hallo,

ist ein char-Array ein String?

Danke.

Gruß Chris

Chris72622:
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: String() - Arduino Reference

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:

Gruß Chris

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?

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).

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

Serial.write() - Arduino Reference

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.

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

Guck dir doch mal die Funktion "memcmp" aus <string.h> an. Vielleicht hilft dir das ja weiter.

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

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

Serial.write() - Arduino Reference

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.