strncmp(strcmp函数的作用)
各位老铁们,大家好,今天由我来为大家分享strncmp,以及strcmp函数的作用的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
strncmp( )函数返回值是什么
strncmp()函数返回值:如果返回值<0,则表示str1小于str2。如果返回值>0,则表示str2小于str1。如果返回值=0,则表示str1等于str2。
字符串大小的比较是以ASCII码表上的顺序来决定,此顺序亦为字符的值。其函数声明为intstrncmp(constchar*
str1,constchar*str2,size_tn)。
功能是把str1和str2进行比较,最多比较前n个字节,若str1与str2的前n个字符相同,则返回0。
扩展资料:
strncmp函数的功能比较:
(1)strncmp函数
用来比较s1和s2字符串的前n个字符。如果两个字符串相等的话,strncmp将返回0。如果s1是s2的一个子串的话,s1小于s2。
(2)strcmp函数
同样用于比较两个字符串,设这两个字符串为str1,str2。若str1==str2,则返回零;若str1>str2,则返回正数;若str1<str2,则返回负数。
参考资料来源:百度百科—strncm
stricmp是什么意思
stricmp是一个常用的字符串比较函数,它用于比较两个字符串是否相等,但不区分大小写。在stricmp中,不同的字符集可能会有不同的实现方式,但一般都会将大写字母转换为小写字母以进行比较。例如,"hello"和"Hello"在stricmp中会被认为是相等的字符串。
stricmp的用法和注意事项
stricmp函数的用法非常简单,只需要输入两个字符串作为参数即可。但需要注意的是,如果使用该函数的话需要使用标准头文件string.h。同时需要确保在比较之前已经将双方字符串转换为相同的字符集,否则会导致比较结果错误。
除了stricmp,还有其他一些常用的字符串比较函数,例如strcmp、strncmp等。与stricmp不同的是,这些函数对大小写是敏感的,即它们会将大小写字母区分对待。另外,strcmp和stricmp的区别在于stricmp比较时不区分大小写,而strcmp是区分大小写的比较函数。需要根据实际需要来选择适合的字符串比较函数。
求strcmp c++中的用法详细说明
函数名: strcmp
功能:串比较
用法: int strcmp(char*str1, char*str2);
看Asic码,str1>str2,返回值> 0;两串相等,返回0
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="aaa",*buf2="bbb",*buf3="ccc";
int ptr;
ptr= strcmp(buf2, buf1);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
else
printf("buffer 2 is less than buffer 1n");
ptr= strcmp(buf2, buf3);
if(ptr> 0)
printf("buffer 2 is greater than buffer 3n");
else
printf("buffer 2 is less than buffer 3n");
return 0;
}
/*下面再给你其他相关的函数应用*/
函数名: stpcpy
功能:拷贝一个字符串到另一个
用法: char*stpcpy(char*destin, char*source);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char string[10];
char*str1="abcdefghi";
stpcpy(string, str1);
printf("%sn", string);
return 0;
}
函数名: strcat
功能:字符串拼接函数
用法: char*strcat(char*destin, char*source);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char destination[25];
char*blank="",*c="C++",*Borland="Borland";
strcpy(destination, Borland);
strcat(destination, blank);
strcat(destination, c);
printf("%sn", destination);
return 0;
}
函数名: strchr
功能:在一个串中查找给定字符的第一个匹配之处
用法: char*strchr(char*str, char c);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char string[15];
char*ptr, c='r';
strcpy(string,"This is a string");
ptr= strchr(string, c);
if(ptr)
printf("The character%c is at position:%dn", c, ptr-string);
else
printf("The character was not foundn");
return 0;
}
函数名: strncmpi
功能:将一个串中的一部分与另一个串比较,不管大小写
用法: int strncmpi(char*str1, char*str2, unsigned maxlen);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="BBB",*buf2="bbb";
int ptr;
ptr= strcmpi(buf2, buf1);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
if(ptr< 0)
printf("buffer 2 is less than buffer 1n");
if(ptr== 0)
printf("buffer 2 equals buffer 1n");
return 0;
}
函数名: strcpy
功能:串拷贝
用法: char*strcpy(char*str1, char*str2);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char string[10];
char*str1="abcdefghi";
strcpy(string, str1);
printf("%sn", string);
return 0;
}
函数名: strcspn
功能:在串中查找第一个给定字符集内容的段
用法: int strcspn(char*str1, char*str2);
程序例:
#include<stdio.h>
#include<string.h>
#include<alloc.h>
int main(void)
{
char*string1="1234567890";
char*string2="747DC8";
int length;
length= strcspn(string1, string2);
printf("Character where strings intersect is at position%dn", length);
return 0;
}
函数名: strdup
功能:将串拷贝到新建的位置处
用法: char*strdup(char*str);
程序例:
#include<stdio.h>
#include<string.h>
#include<alloc.h>
int main(void)
{
char*dup_str,*string="abcde";
dup_str= strdup(string);
printf("%sn", dup_str);
free(dup_str);
return 0;
}
函数名: stricmp
功能:以大小写不敏感方式比较两个串
用法: int stricmp(char*str1, char*str2);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="BBB",*buf2="bbb";
int ptr;
ptr= stricmp(buf2, buf1);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
if(ptr< 0)
printf("buffer 2 is less than buffer 1n");
if(ptr== 0)
printf("buffer 2 equals buffer 1n");
return 0;
}
函数名: strerror
功能:返回指向错误信息字符串的指针
用法: char*strerror(int errnum);
程序例:
#include<stdio.h>
#include<errno.h>
int main(void)
{
char*buffer;
buffer= strerror(errno);
printf("Error:%sn", buffer);
return 0;
}
函数名: strcmpi
功能:将一个串与另一个比较,不管大小写
用法: int strcmpi(char*str1, char*str2);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="BBB",*buf2="bbb";
int ptr;
ptr= strcmpi(buf2, buf1);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
if(ptr< 0)
printf("buffer 2 is less than buffer 1n");
if(ptr== 0)
printf("buffer 2 equals buffer 1n");
return 0;
}
函数名: strncmp
功能:串比较
用法: int strncmp(char*str1, char*str2, int maxlen);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="aaabbb",*buf2="bbbccc",*buf3="ccc";
int ptr;
ptr= strncmp(buf2,buf1,3);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
else
printf("buffer 2 is less than buffer 1n");
ptr= strncmp(buf2,buf3,3);
if(ptr> 0)
printf("buffer 2 is greater than buffer 3n");
else
printf("buffer 2 is less than buffer 3n");
return(0);
}
函数名: strncmpi
功能:把串中的一部分与另一串中的一部分比较,不管大小写
用法: int strncmpi(char*str1, char*str2);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="BBBccc",*buf2="bbbccc";
int ptr;
ptr= strncmpi(buf2,buf1,3);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
if(ptr< 0)
printf("buffer 2 is less than buffer 1n");
if(ptr== 0)
printf("buffer 2 equals buffer 1n");
return 0;
}
函数名: strncpy
功能:串拷贝
用法: char*strncpy(char*destin, char*source, int maxlen);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char string[10];
char*str1="abcdefghi";
strncpy(string, str1, 3);
string[3]='';
printf("%sn", string);
return 0;
}
函数名: strnicmp
功能:不注重大小写地比较两个串
用法: int strnicmp(char*str1, char*str2, unsigned maxlen);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*buf1="BBBccc",*buf2="bbbccc";
int ptr;
ptr= strnicmp(buf2, buf1, 3);
if(ptr> 0)
printf("buffer 2 is greater than buffer 1n");
if(ptr< 0)
printf("buffer 2 is less than buffer 1n");
if(ptr== 0)
printf("buffer 2 equals buffer 1n");
return 0;
}
函数名: strnset
功能:将一个串中的所有字符都设为指定字符
用法: char*strnset(char*str, char ch, unsigned n);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char*string="abcdefghijklmnopqrstuvwxyz";
char letter='x';
printf("string before strnset:%sn", string);
strnset(string, letter, 13);
printf("string after strnset:%sn", string);
return 0;
}
函数名: strpbrk
功能:在串中查找给定字符集中的字符
用法: char*strpbrk(char*str1, char*str2);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char*string1="abcdefghijklmnopqrstuvwxyz";
char*string2="onm";
char*ptr;
ptr= strpbrk(string1, string2);
if(ptr)
printf("strpbrk found first character:%cn",*ptr);
else
printf("strpbrk didn't find character in setn");
return 0;
}
函数名: strrchr
功能:在串中查找指定字符的最后一个出现
用法: char*strrchr(char*str, char c);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char string[15];
char*ptr, c='r';
strcpy(string,"This is a string");
ptr= strrchr(string, c);
if(ptr)
printf("The character%c is at position:%dn", c, ptr-string);
else
printf("The character was not foundn");
return 0;
}
函数名: strrev
功能:串倒转
用法: char*strrev(char*str);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char*forward="string";
printf("Before strrev():%sn", forward);
strrev(forward);
printf("After strrev():%sn", forward);
return 0;
}
函数名: strset
功能:将一个串中的所有字符都设为指定字符
用法: char*strset(char*str, char c);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char string[10]="123456789";
char symbol='c';
printf("Before strset():%sn", string);
strset(string, symbol);
printf("After strset():%sn", string);
return 0;
}
函数名: strspn
功能:在串中查找指定字符集的子集的第一次出现
用法: int strspn(char*str1, char*str2);
程序例:
#include<stdio.h>
#include<string.h>
#include<alloc.h>
int main(void)
{
char*string1="1234567890";
char*string2="123DC8";
int length;
length= strspn(string1, string2);
printf("Character where strings differ is at position%dn", length);
return 0;
}
函数名: strstr
功能:在串中查找指定字符串的第一次出现
用法: char*strstr(char*str1, char*str2);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char*str1="Borland International",*str2="nation",*ptr;
ptr= strstr(str1, str2);
printf("The substring is:%sn", ptr);
return 0;
}
函数名: strtod
功能:将字符串转换为double型值
用法: double strtod(char*str, char**endptr);
程序例:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char input[80],*endptr;
double value;
printf("Enter a floating point number:");
gets(input);
value= strtod(input,&endptr);
printf("The string is%s the number is%lfn", input, value);
return 0;
}
函数名: strtok
功能:查找由在第二个串中指定的分界符分隔开的单词
用法: char*strtok(char*str1, char*str2);
程序例:
#include<string.h>
#include<stdio.h>
int main(void)
{
char input[16]="abc,d";
char*p;
/* strtok places a NULL terminator
in front of the token, if found*/
p= strtok(input,",");
if(p) printf("%sn", p);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token*/
p= strtok(NULL,",");
if(p) printf("%sn", p);
return 0;
}
函数名: strtol
功能:将串转换为长整数
用法: long strtol(char*str, char**endptr, int base);
程序例:
#include<stdlib.h>
#include<stdio.h>
int main(void)
{
char*string="87654321",*endptr;
long lnumber;
/* strtol converts string to long integer*/
lnumber= strtol(string,&endptr, 10);
printf("string=%s long=%ldn", string, lnumber);
return 0;
}
函数名: strupr
功能:将串中的小写字母转换为大写字母
用法: char*strupr(char*str);
程序例:
#include<stdio.h>
#include<string.h>
int main(void)
{
char*string="abcdefghijklmnopqrstuvwxyz",*ptr;
/* converts string to upper case characters*/
ptr= strupr(string);
printf("%sn", ptr);
return 0;
}
函数名: swab
功能:交换字节
用法: void swab(char*from, char*to, int nbytes);
程序例:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
char source[15]="rFna koBlrna d";
char target[15];
int main(void)
{
swab(source, target, strlen(source));
printf("This is target:%sn", target);
return 0;
}
PS:isalpha()是字符函数,不是字符串函数,
isalpha
原型:extern int isalpha(int c);
用法:#include<ctype.h>
功能:判断字符c是否为英文字母
说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。
举例:
// isalpha.c
#include<syslib.h>
#include<ctype.h>
#include<stdio.h>
main()
{
int c;
clrscr();// clear screen
printf("Press a key");
for(;;)
{
c=getchar();
clrscr();
printf("%c:%s letter",c,isalpha(c)?"is":"not");
}
return 0;// just to avoid warnings by compiler
}
OK,关于strncmp和strcmp函数的作用的内容到此结束了,希望对大家有所帮助。