我的程序从端口获取输入,然后我发送这个字符串以检查几个字符串。我首先尝试比较 java 风格,只使用“myString”,但比较时我得到了 13(十三)。我以为是因为我应该使用 char 指针,但我仍然得到 13。然后我看到缓冲区是用新行传递的,所以我添加了 \n 但我得到了 3(三)。从这里我不知道如何将它减少到 0。它必须是我传递字符串的方式。
获取字符串:
bzero(buffer,256);
n = read(sockfd,buffer,255);
if (n < 0)
error("ERROR reading from socket");
printf("String at start: %s",buffer);
testingMethod(buffer);
测试方法是:
void testingMethod(char *string) {
char *button = "mystring";
printf("myString: %s-", string);
printf("strcmp: %i", strcmp(myString,button));
...
}
输出:
String at start: mystring
string: mystring
-strcmp: 13 //NOTE the - on the nextline.