在C中使用strcmp()比较输入字符串的一部分
通常strcmp与两个参数一起使用[例如strcmp(str1,“garden”)],如果两者相同,则返回0 是否可以比较部分输入,比如输入的前五个字符?(例如,在C中使用strcmp()比较输入字符串的一部分,c,strcmp,C,Strcmp,通常strcmp与两个参数一起使用[例如strcmp(str1,“garden”)],如果两者相同,则返回0 是否可以比较部分输入,比如输入的前五个字符?(例如,strcmp(str1,“garde”,5)) #包括 #包括 内部主(空){ char str1[]=“花园”; 如果(strcmp(str1,“花园”)==0) { printf(“1”); } 如果(strcmp(str1,“花园”,6)=0) { printf(“2”); } 如果(strcmp(str1,“garde”,5)=
strcmp(str1,“garde”,5)
)
#包括
#包括
内部主(空){
char str1[]=“花园”;
如果(strcmp(str1,“花园”)==0)
{
printf(“1”);
}
如果(strcmp(str1,“花园”,6)=0)
{
printf(“2”);
}
如果(strcmp(str1,“garde”,5)=0)
{
printf(“3”);
}
返回0;
}
您正在寻找的
请记住,C不支持重载,因此同一函数的每个“变体”都有一个唯一的名称。使用strncmp:
if (strncmp(str, "test", 4) == 0) { printf("it matches!"); }
有关更多信息,请参阅。您需要strncmp Hey Troy感谢您的回复。它是否可以与3个参数一起工作,因为我得到了这个错误,prog.c:10:29:error:macro“strcmp”传递了3个参数,但只需要2个参数Hey Crozin,谢谢。我应该批准哪一个答案,因为你们两个几乎同时回答lol。。。
if (strncmp(str, "test", 4) == 0) { printf("it matches!"); }