C语言超全面讲解字符串函数

 更新时间:2022年06月24日 11:15:32   作者:我会一直在的  
字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数

注意:在使用字符串处理函数时,一定要使用#include <string.h>开头

1、gets函数

其形式为:gets(字符数组)——输入字符串的函数

作用是从终端输入一个字符串到字符数组,并且得到一个函数值。

2、puts函数

其形式为:puts(字符数组)——输出字符串的函数

作用是将一个字符串(以‘\0’结束的字符序列)输出到终端。

3、strcat函数

其形式为:strcat(字符数组1,字符数组2)——字符串连接的函数

作用是把两个字符数组中的字符串连接起来,把字符串2连接到字符串1的后面,结果放在字符数组1中。

4、strcpy函数(strncpy函数)

其形式为:strcpy(字符数组1,字符串2)——字符串复制的函数

作用是将字符串2复制到字符数组1中去。

strcpy(字符数组1,字符串2,n)——字符串选择复制的函数

n:表示将字符串2中的n个单个字符复制到字符数组1中,最少为0个,最多不能超过字符串2的长度。作用与strcpy函数差不都,都是字符串复制函数。

大家可以自己试一试,源码

#include <stdio.h>
#include <string.h>
int main(){
	char str1[10] ="";     //定义空数组str1
	char str2[10] = "kgtj";//定义数组str2
	strncat(str1, str2, 1);
	printf("%s\n", str1);
	return 0;
}

5、strcmp函数(strncmp函数)

其形式为:strcmp(字符数组1,字符串2)——字符串比较的函数

因为字符串不能用等号来比较大小,所以就用strcmp函数来比较!!!!!!

比较规则:

(1)如果全部字符相同,则认为两个字符串相等;

(2)若出现不相同的字符,则以第一对不相同的字符比较结果为准。('a'<'z';'A'<'Z')。

比较的结果由函数值带回:

(1)如果字符串1与字符串2相同,则函数值为0。

(2)如果字符串1 > 字符串2,则函数值返回一个正数。

(3)如果字符串1 <字符串2,则函数值返回一个负数。

strncmp(字符数组1,字符串2,n)——字符串选择比较的函数

n:选择字符串的前n个字符进行比较,定义和strcmp一样。

(1)如果字符串1与选择的字符串2相同,则函数值为0。

(2)如果字符串1 > 选择的字符串2,则函数值返回一个正数。

(3)如果字符串1 <选择的字符串2,则函数值返回一个负数。

6、strlen函数

其形式为:strlen(字符数组)——测字符串长度的函数

作用是测试字符串长度的函数,函数的值为字符串实际的长度(不包括 '\0' 在内)。

strlen也可以直接测试字符串常量的长度

7、strlwr函数

其形式为:strlwr(字符串)——转换为小写的函数

该函数的作用是将字符串中的大写字母转换成小写字母。

8、strupr函数

其形式为:strupr(字符串)——转换为大写的函数

该函数的作用是将字符串中的小写字母转换成大写字母。

9、strstr函数

其形式为:strstr(字符串1,字符串2)——查找字符串的函数

函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

如果找到该数组,就会从找到的地方开始输出;

#include <string.h>
#include <stdio.h> 
int main(){
	char a[] = "abcdefg";
	char b[] = "bc";
	char* ret = strstr(a, b);
	if (ret == NULL){
		printf("Can not find!\n");
	}
	else{
		printf("%s\n", ret);  //输出 bcdefg
	}
	return 0;
}

到此这篇关于C语言超全面讲解字符串函数的文章就介绍到这了,更多相关C语言字符串函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++实现简易选课系统代码分享

    C++实现简易选课系统代码分享

    这篇文章主要介绍了C++实现简易选课系统及实现代码的分享,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-01-01
  • C++变量判定的螺旋法则示例详解

    C++变量判定的螺旋法则示例详解

    这篇文章主要给大家介绍了关于C++变量判定的螺旋法则,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • C++中const应放在类型前还是后

    C++中const应放在类型前还是后

    之前遇到小伙伴问C++中const加在类型名前和变量名前的区别,今天给大家简单分析下。
    2016-05-05
  • C语言也有封装,继承和多态你知道吗

    C语言也有封装,继承和多态你知道吗

    这篇文章主要为大家详细介绍了C语言封装,继承,多态,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 浅析C++中的多线程编程

    浅析C++中的多线程编程

    这篇文章主要为大家详细介绍了C++中的多线程编程,包括创建线程、同步线程、传递数据给线程以及异常处理等方面,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • C/C++练习题之合并k个已排序的链表

    C/C++练习题之合并k个已排序的链表

    这篇文章主要给大家介绍了关于C/C++练习题之合并k个已排序的链表的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家学习或者使用C/C++具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • C++ 实现一个复数类的实例代码

    C++ 实现一个复数类的实例代码

    这篇文章主要介绍了C++ 实现一个复数类的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 剖析C++的面向对象编程思想

    剖析C++的面向对象编程思想

    这篇文章主要介绍了剖析C++的面向对象编程思想,C++的面向对象特性是其对C语言的重要拓展之处,需要的朋友可以参考下
    2015-09-09
  • C++设计模式之CRTP的使用

    C++设计模式之CRTP的使用

    CRTP全称是curious recurring template pattern,即奇异递归模版模式,是一种c++的设计模式,精巧地结合了继承和模板编程的技术,下面就跟随小编一起来学习一下CRTP的使用吧
    2023-10-10
  • 详解C语言中Char型指针数组与字符数组的区别

    详解C语言中Char型指针数组与字符数组的区别

    这篇文章主要介绍了详解C语言中Char型指针数组与字符数组的区别的相关资料,希望通过本文能帮助到大家掌握理解这部分内容,需要的朋友可以参考下
    2017-10-10

最新评论