Mein Programm erhält eine Eingabe von einem Port und dann sende ich diesen String, um ihn gegen ein paar Strings zu überprüfen. Zuerst versuchte ich, im Java-Stil zu vergleichen, indem ich nur "myString" benutzte, aber ich bekam eine 13 (dreizehn) bei Vergleich. Ich dachte, es liegt daran, dass ich einen Zeiger auf Zeichen verwenden sollte, aber ich erhalte immer noch 13. Dann sah ich, dass der Puffer mit einer neuen Zeile übergeben wurde, also fügte ich \n hinzu, aber ich erhielt 3 (drei). Von hier aus weiß ich nicht, wie ich es auf 0 reduzieren soll. Es muss etwas damit zu tun haben, wie ich den String übergebe.
Den String erhalten:
bzero(buffer,256);
n = read(sockfd,buffer,255);
if (n < 0)
error("FEHLER beim Lesen vom Socket");
printf("String am Anfang: %s",buffer);
testingMethod(buffer);
Die Testmethode lautet:
void testingMethod(char *string) {
char *button = "mystring";
printf("myString: %s-", string);
printf("strcmp: %i", strcmp(myString,button));
...
}
Ausgabe:
String am Anfang: mystring
string: mystring
-strcmp: 13 //BEACHTEN Sie das - in der nächsten Zeile.