Was macht diese Zeile
-
if(strncmp(p, "*NODE_NAME", strlen("*NODE_NAME")) == 0 )
würde mir jemenad sagen was jetzt in dieser Zeiel passiert.
cu
Der, der sich durch einen C-Code kämpft
-
Hallo,
strncmp vergleicht 2 Strings bis zu den ersten n Buchstaben miteinander.
n wird hier bei angegeben durch strlen(...). Die zu vergleichenden Strings wären hier die ersten beiden Parameter.
-
Also p wir mit *NODE_NAME verglichen. Wenn Rückgabewert==0 dann sind beide gleich. Doch was ist mit dem * im NODE_NAME? Wozu ist das gut?
-
Das '*' hat keine Bedeutung ausser sich selbst, jedenfalls soweit es C angeht.
-
Original erstellt von Bashar:
Das '*' hat keine Bedeutung ausser sich selbst, jedenfalls soweit es C angeht.schlechte antwort, da verwirrend
das "*" ist eben einfach nur teil des strings. das ding heißt eben nicht NODE_NAME sondern *NODE_NAME
-
stimmt.
-
Wenn Rückgabewert==0 dann sind beide gleich.
Nicht ganz. Die if-Bedingung ist auch true, wenn der String p länger ist, aber mit "*NODE_NAME" beginnt.
-
@Geo
Schonmal in eine Doku geschaut?
-
@ReneG
Ja, die kannst du z.B. hier finden:
http://www.physik.uni-regensburg.de/studium/edverg/ckurs/script/node80.html
P.S.:
<WillCLernen> hat gefragt, was die Zeile nacht, nicht was strncmp macht.