簡體   English   中英

C - 將字符數組與字符串進行比較

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM