一.相同点
strcmp
与strncmp
的作用是相同的,都是用来进行字符串比较的。- 比较的方式都是通过
ASC II
码表的数值来进行比较的。 - 返回值一致,
字符串相同
返回0
,字符串不同
返回非零的值
。
二.不同点
1.strcmp
比较字符串的完整长度;
2.strncmp
比较固定长度
字符串,开始的位置是字符串的起始位置
,具体请看下面的例子。
三.举例
1.strcmp
使用
#include <stdio.h>
#include <string.h> //使用str**()函数必须引入这个库
#define NAME "vic"
int main(void){
char * names = "vic";
char * names1 = "vicwang";
printf("names对比结果:%d\n",strcmp(names,NAME));
printf("names1对比结果:%d",strcmp(names1,NAME));
return 0;
}
输出的结果:
names对比结果:0
---------0代表相等
names1对比结果:119
------非零代表不相等
2.strncmp
使用
#include <stdio.h>
#include <string.h>
#define NAME "Grands"
int main(void){
char* test = "My name is Grands";
char* test1 = "Grands is a girl";
//比较字符串前6个字符
printf("test result:%d\n",strncmp(test,NAME,6));
printf("test1 result:%d",strncmp(test1,NAME,6));
return 0;
}
输出结果:
test result:6
//结果为字符串不同
test1 result:0
//结果为相同