使用C中的strcmp()比较输入字符串的一部分

use*_*384 6 c strcmp

通常strcmp使用两个参数[例如strcmp(str1,"garden")],如果两者都相同则返回0.

是否可以比较输入的一部分,比如输入的前五个字符?(例如strcmp(str1,"garde",5))

#include <stdio.h>
#include<string.h>

int main(void) {

    char str1[] = "garden";

    if (strcmp(str1, "garden") == 0)
    {
        printf("1");
    }
    if (strcmp(str1, "garden", 6) == 0)
    {
        printf("2");
    }
    if (strcmp(str1, "garde", 5) == 0)
    {
        printf("3");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

goj*_*oji 11

使用strncmp:

if (strncmp(str, "test", 4) == 0) { printf("it matches!"); }
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅http://www.cplusplus.com/reference/cstring/strncmp/.