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语言字符串函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VScode+cuda编程常见环境问题的解决

    VScode+cuda编程常见环境问题的解决

    本文主要介绍了VScode+cuda编程常见环境问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 基于C语言扫雷游戏的设计与实现

    基于C语言扫雷游戏的设计与实现

    大家好,本篇文章主要讲的是基于C语言扫雷游戏的设计与实现,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • C++ socket实现miniFTP

    C++ socket实现miniFTP

    这篇文章主要为大家详细介绍了C++ socket实现miniFTP的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • VS2019 更新MSDN并创建快捷方式的实现

    VS2019 更新MSDN并创建快捷方式的实现

    这篇文章主要介绍了VS2019 更新MSDN并创建快捷方式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Windows上CLion的配置步骤详解

    Windows上CLion的配置步骤详解

    这篇文章主要介绍了Windows上CLion的配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • OpenCV和C++实现图像的翻转(镜像)、平移、旋转、仿射与透视变换

    OpenCV和C++实现图像的翻转(镜像)、平移、旋转、仿射与透视变换

    这篇文章主要给大家介绍了关于OpenCV和C++实现图像的翻转(镜像)、平移、旋转、仿射与透视变换的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • C语言 操作符#与##使用方法详解

    C语言 操作符#与##使用方法详解

    在类函数宏中(带参数的宏),#号作为一个预处理运算符,可以把记号转换成字符串。##相当于连接符,它会将两边的内容连接起来,形成新的标识符,下面请看详细的教程
    2022-04-04
  • VC++时钟函数

    VC++时钟函数

    VC中提供了很多关于时间操作的函数,编写程序时我们可以跟据定时的不同精度要求选择不同的时间函数来完成定时和计时操作
    2015-06-06
  • C++实现LeetCode(159.最多有两个不同字符的最长子串)

    C++实现LeetCode(159.最多有两个不同字符的最长子串)

    这篇文章主要介绍了C++实现LeetCode(159.最多有两个不同字符的最长子串),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 浅谈C++内存分配及变长数组的动态分配

    浅谈C++内存分配及变长数组的动态分配

    下面小编就为大家带来一篇浅谈C++内存分配及变长数组的动态分配。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论