首页技术strncmp(strcmp函数的作用)

strncmp(strcmp函数的作用)

编程之家2026-06-28971次浏览

各位老铁们,大家好,今天由我来为大家分享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函数的功能比较:

strncmp(strcmp函数的作用)

(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函数的作用的内容到此结束了,希望对大家有所帮助。

html5的正确doctype 《!doctypehtml》的作用iswitch用法c语言,switch开机红只有一次吗