信阳C语言字符串处理函数

河南SEO优化 phpacg 2年前 (2018-04-23) 181次浏览 0个评论

C言语具有绘图才干强,可移植性,并具有很强的数据处置才干。那么大家知道C言语字符串处置函数是什么呢?下面一同来看看!

信阳C语言字符串处理函数

C言语提供了丰厚的字符串处置函数,例如字符串的输入、输入、兼并、修正、比拟、转换、复制、搜索等,运用这些现成的函数可大大减轻编程的担负。

用于输入输入的字符串函数,例如printf、puts、scanf、gets等,运用时应包括头文件stdio.h,运用其它字符串函数则应包括头文件string.h。

字符串长度函数strlen

strlen 是 string length 的缩写,用来取得字符串的长度。所谓长度,就是包括多少个字符(不包括字符串完毕标志 ‘\0‘)。语法格式为:

strlen(arrayName);

strlen 将前往字符串的长度,它是一个整数。请看下面的例子:

#include #include int main(){ char str[]=“C language”; int len = strlen(str); printf(“The lenth of the string is %d ”, len); return 0;}

运转结果:

The lenth of the string is 10

需求说明的是,strlen 会从字符串的第 0 个字符末尾计算,直到遇到字符串完毕标志 ‘\0’。将下面代码中的 str 改为:

char str[]=“C \0language”;

那么输入结果就是:

The lenth of the string is 2

字符串衔接函数 strcat

strcat 是 string catenate 的缩写,意思是把两个字符串拼接在一同,语法格式为:

strcat(arrayName1, arrayName2);

arrayName1、arrayName2 为需求拼接的字符串。

strcat 将把 arrayName2 衔接到 arrayName1 前面,并删去 arrayName1 最后的完毕标志 ‘\0‘。这就意味着,arrayName1 的长度要足够,必需可以同时容纳 arrayName1 和 arrayName2,否则会越界。

strcat 前往值为 arrayName1 的首地址。请看下面的例子:

#include #include int main(){ char str1[40]=“My name is ”; char str2[20]; printf(“Input your name:”); gets(str2); strcat(str1,str2); puts(str1); return 0;}

运转结果:

Input your name:xiao p

My name is xiao p

字符串复制函数strcpy

strcpy 是 string copy 的缩写,意思是字符串复制,语法格式为:

strcpy(arrayName1, arrayName2);

strcpy 会把 arrayName2 中的字符串拷贝到 arrayName1 中,串完毕标志 ‘\0’ 也一同拷贝。请看下面的例子:

#include #include int main(){ char str1[15], str2[]=“C Language”; strcpy(str1, str2); puts(str1); printf(“ ”); return 0;}

运转结果:

C Language

strcat 要求 arrayName1 要有足够的长度,否则不能全部装入所拷贝的字符串。

字符串比拟函数strcmp

strcmp 是 string compare 的缩写,意思是字符串比拟,语法格式为:

strcmp(arrayName1, arrayName2);

arrayName1 和 arrayName2 是需求比拟的两个字符串。

字符自身没有大小之分,strcmp() 以各个字符对应的 ASCII 码值停止比拟。strcmp() 从两个字符串的第 0 个字符末尾比拟,假设它们相等,就继续比拟下一个字符,直到遇见不同的字符,或许到字符串的末尾。

前往值:若 arrayName1 和 arrayName2 相反,则前往0;若 arrayName1 大于 arrayName2,则前往大于 0 的值;若 arrayName1 小于 arrayName2,则前往小于0 的值。

【示例】对4组字符串停止比拟。

#include #include int main(){ char *a = “aBcDeF”; char *b = “AbCdEf”; char *c = “aacdef”; char *d = “aBcDeF”; printf(“strcmp(a, b) : %d ”, strcmp(a, b)); printf(“strcmp(a, c) : %d ”, strcmp(a, c)); printf(“strcmp(a, d) : %d ”, strcmp(a, d)); return 0;}

运转结果:

strcmp(a, b) : 1

strcmp(a, c) : -1

strcmp(a, d) : 0

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址