常用字符串应用函数

程序员成长之旅 · 程序员成长之旅/C语言/笔记 · 636 字

整表

使用字符串函数注意以下事项:

1、strlen()获取字符串的长度,在字符串长度中是不包括‘\0’而且汉字和字母的长度是不一样的。比如:

2、strcmp()在比较的时候会把字符串先转换成ASCII码再进行比较,返回的结果为0表示s1和s2的ASCII码相等,返回结果为1表示s1比s2的ASCII码大,返回结果为**-1表示s1比s2的ASCII码小**,例如:

3、strcpy()拷贝之后会覆盖原来字符串且不能对字符串常量进行拷贝,比如:

4、strcat在使用时s1与s2指的内存空间不能重叠,且s1要有足够的空间来容纳要复制的字符串,如:

strcmp函数演示

注意 此函数角度是以左边字符串角度进行返回值 既Num1的角度

#include<stdio.h> //关于strcmp演示

#include<string.h> //包含strcmp

int main() {

int BetaStrcmp1 = 0, BetaStrcmp2 = 0, BetaStrcmp3 = 0, BetaStramp4 = 0;

BetaStrcmp1 = strcmp("123", "130");//虽然123的ASCLL码值(1+2+3即49+50+51)大于130ASCLL(1+3+0即49+51+48)码值 但是在计算过程如下1和1相比较 相等于比较下一个 2比3 2的ASCLL码大于3的ASCLL码值  到此停止计算 则“123”<“130”。

printf("%d\n", BetaStrcmp1);//故返回值“-1” 即“123”<“130” 即“Num1”<“Num2”

BetaStrcmp2 = strcmp("123", "1234");//“123”和“1234”前三个ASCLL码一致  后面“1234”多一个“4” 所以“1234”>“123”

printf("%d\n", BetaStrcmp2);//故返回值“-1” 即 “123”<“1234” 即即“Num1”<“Num2”

BetaStrcmp3 = strcmp("321", "199");//在进行第一次比较时“3”>“1” 故“321”>“199”

printf("%d\n", BetaStrcmp3);//返回值“1” 即“321”>“199” 即 “Num1”>“Num2”

BetaStramp4 = strcmp("123", "123");//三次比较发现相等

printf("%d\n", BetaStramp4);//返回值“0” 即“123”==“123” 即“Num1”==“Num2”

return 0;

}

运行结果: