Pages: [1]   Go Down
Author Topic: Array String Verständnisfrage  (Read 507 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
God Member
*****
Karma: 10
Posts: 588
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ist ein char-Array ein String?

Danke.

Gruß Chris
Logged


Germany S-H
Offline Offline
Faraday Member
**
Karma: 138
Posts: 2879
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
God Member
*****
Karma: 10
Posts: 588
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


Chemnitz/Saxony/Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 107
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
God Member
*****
Karma: 10
Posts: 588
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 6
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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


Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

_______
Manfred

Germany S-H
Offline Offline
Faraday Member
**
Karma: 138
Posts: 2879
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: January 23, 2013, 03:42:24 am by jurs » Logged

Pages: [1]   Go Up
Jump to: