[英]C - Compare a char array with string
我有一個套接字服務器,它應該接收一條消息並寫出一個答案。 對於某些消息,我想發送一個特殊的答案。 例如,如果消息是"Hello"
我想回答"Hi!"
. 這是我的代碼的一部分:
...
char in[2000];
char out[2000];
...
while((read_size = recv(fd, in, 2000, 0)) > 0){
if(strcmp(in, "Hello") == 0){
strcpy(out, "Hi!\n");
}
else{
strcpy(out, in);
}
write(fd, out, strlen(out));
}
...
但是strcmp()
在這里不能正常工作。 因為當我鍵入"Hello"
也不僅是"Hello"
中in
變量,因為長度為2000,但我怎么能現在檢查,如果接收到的消息是"Hello"
?
使用strncmp函數,它比較字符串的前n個字節:
if (strncmp(in, "Hello", strlen("Hello")) == 0) ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.