为什么我得到这个,是getchar()
函数?
printf("Type stop to end connection");
while ((d=getchar()) != '\n' && i < MAXLENGHT){
buf2[i++] = d;
}
buf2[i] = '\0';
dfg = strlen(buf2);}
while (d != 'stop'); // here the error
close(sockfd);
exit(0);
}
答案 0 :(得分:4)
单引号表示char
字面值。通常这意味着一个字符。允许使用多字符文字,但标准表示它们的含义是实现定义的。由于字符太多,您的实现似乎将'stop'
视为无效。
无论如何,我很确定你不打算写一个多字符文字。查看代码片段我认为您的意思是将输入读入字符串并使用strcmp
来测试与字符串"stop"
的相等性。
答案 1 :(得分:1)
除语法错误(''而不是“”)外,您可能想要比较字符串:
while (strcmp(buf2, "stop") != 0) ...