Hallo,
ich habe das:
char GZeit[9];
char sZeit[9];
snprintf(GZeit,sizeof(GZeit),"%02d:%02d.%02d",hours,minutes,seconds);// String ganze Zeit
snprintf(sZeit,sizeof(sZeit),"%02d:%02d.%02d",sStd,sMin,sSek);// String Schalt-Zeit
Wenn ich die beiden vergleiche möchte:
if (sZeit == GZeit)
{
mache mich nicht wahnsinnig
}
dann funktioniert das nicht. Wie vergleiche ich denn die beiden?
Denn, wenn ich das mache:
String kZeit;
kZeit = sZeit;
if (kZeit == GZeit)
{
jetzt bin ich glücklich
}
dann funktioniert das.
Also, warum läßt sich das
if (sZeit == GZeit)
nicht vergleichen?
Gruß und Dank
Andreas
Hallo,
"strcmp"
ist das Arduino "string.compare()" oder "equals"?
Gruß und Dank
Andreas
jurs
July 10, 2014, 1:30pm
4
SkobyMobil:
Also, warum läßt sich das
if (sZeit == GZeit)
nicht vergleichen?
Natürlich lassen sich auch zwei Pointer vergleichen.
Zwei Pointer sind gleich, wenn sie gleich sind.
In diesem Fall verweisen die Pointer auf zwei verschiedene char-Arrays, also sind die Pointer selbstverständlich verschieden.
So what?
Über die Inhalte, auf die diese Pointer verweisen, wird damit allerdings nichts gesagt.
Inhalte in char-Arrays, auf die mit einem Pointer verwiesen wird, werden mit der Funktion strcmp() verglichen:
http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html#ga46f3cbd2de457c0fb340a1f379fc33ba
Hallo,
10:20:30 == 10:20:30
das macht sie "optisch" gleich. Funktioniert aber nicht…
aber
,hours,minutes,seconds;
,sStd,sMin,sSek;
macht sie inhaltlich verschieden?
Gruß und Dank
Andreas
"strcmp"
ist das Arduino "string.compare()" oder "equals"?
Sorry, Damit du nur sinnvolle Antworten findest:
Ich meinte strcmp für C
Hallo,
jaa, ich habe es kapiert.
"strcmp"
funktionier, und begriffen habe ich es auch.
Andreas sagt, Danke schön.