strcmp函数和strncmp函数
- strcmp函数
- 一、strcmp函数的简介
- 二、strcmp函数的功能
- 三、strcmp函数的使用
- 四、strcmp函数的模拟
- strncmp函数
- 一、strncmp的简介
- 二、strncmp函数的功能
- 三、strncmp函数的使用
strcmp函数
一、strcmp函数的简介
strcmp函数在库函数中的定义:
int strcmp ( const char * str1, const char * str2 );
参数:
1.str1
:要比较的字符串
2.str2
:要比较的字符串
返回值:
返回值 | 表明 |
---|---|
小于0 | str1<str2 |
等于0 | str1=str2 |
大于0 | str1>str2 |
二、strcmp函数的功能
比较两个字符串
将 C 字符串 str1 与 C 字符串 str2 进行比较。
此函数开始比较每个字符串的第一个字符。如果它们彼此相等,则继续以下对,直到字符不同或达到终止空字符。
三、strcmp函数的使用
#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = { "abc" };
char str2[] = { "abcdefg" };
printf("%d", strcmp(str1, str2));
return 0;
}
四、strcmp函数的模拟
#include<stdio.h>
int my_strcmp(const char* str1, const char* str2)
{
while (*str1 == *str2)
{
if (str1 == '\0')
return 0;
str1++;
str2++;
}
if (*str1 > str2)
return 1;
else
return -1;
}
int main()
{
char str1[] = { "abc" };
char str2[] = { "abcdefg" };
printf("%d", my_strcmp(str1, str2));
return 0;
}
运行结果
strncmp函数
一、strncmp的简介
strncmp函数在库函数中的定义:
int strncmp ( const char * str1, const char * str2, size_t num );
参数:str1
要比较的 C 字符串。
str2
:要比较的 C 字符串。
num:
要比较的最大字符数。(size_t是无符号整数类型)
返回值
返回值 | 表明 |
---|---|
小于0 | str1<str2 |
等于0 | str1=str2 |
大于0 | str1>str2 |
二、strncmp函数的功能
与strcmp基本一样,只是strncmp加入的num限制比较的个数。
比较前num个元素。
三、strncmp函数的使用
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = { "abcd" };
char str2[] = { "abcdefg" };
printf("%d", strncmp(str1, str2,4));
return 0;
}
运行截图
这里比较的是前四个元素,返回零,说明str1和str2的前四个元素一样。