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

目录
  • 1、gets函数
  • 2、puts函数
  • 3、strcat函数
  • 4、strcpy函数(strncpy函数)
  • 5、strcmp函数(strncmp函数)
  • 6、strlen函数
  • 7、strlwr函数
  • 8、strupr函数
  • 9、strstr函数

注意:在使用字符串处理函数时,一定要使用#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语言字符串函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言中操作字符串的函数详解

    目录 一.函数表 二.strlen 实例 三.strcmp 实例 四.strcpy 实例 五.stract 实例 六.strchr 实例 总结 一.函数表 函数名 函数 功能 strlen size_t strlen(const char* s); 返回字符串 s 的长度(不包括结尾的0) strcmp int strcmp(const char* s1, const char* s2); 比较两个字符串,返回:如果 s1 == s2,返回 0:如果 s1<s2 则返回小于 0 (如 -1):如

  • C语言实例问题探究字符串函数的应用

    目录 一.典型问题一 二.典型问题二 三.典型问题三 四.典型问题四 一.典型问题一 下面的程序输出什么?为什么? 分析 snprintf 函数本身是可变参数函数,原型如下:int snprintf( char* buffer, int buf_size, const char*fomart,... ) 当函数只有 3 个参数时,如果第三个参数没有包含格式化信息,函数调用没有问题:相反,如果第三个参数包含了格式化信息,但缺少后续对应参数,则程序行为不确定. 下面编程看看究竟会输出什么: #inc

  • C语言超详细讲解字符串函数和内存函数

    目录 字符串函数 长度不受限制的字符串函数 strlen strcpy strcat strcmp 长度受限制的字符串函数介绍 strncpy strncat strncmp 字符串查找以及错误报告 strstr strtok strerror 内存操作函数 memcpy memmove memcmp 字符串函数 长度不受限制的字符串函数 strlen size_t strlen ( const char * str ) 求字符串长度: 字符串以'\0' 作为结束标志,strlen函数返回的是在

  • C语言封装函数字符串练习汇总分享

    目录 封装函数: 判断闰年和平年 封装函数: 字符串查找(参考strstr) 封装函数: 字符串比较(参考strcmp) 封装函数: 字符串拼接(参考strcat) 封装函数: 字符串转整数(参考atoi) 封装函数: 字符串转浮点数(参考atof) 封装函数: 整数转字符串 123 “123” 封装函数: 浮点数转字符串 123.456 – “123.456” 封装函数: 判断回文字符串 封装函数: 字符串替换 封装函数: 清除二维数组的指定行 封装函数:字符串里所有大写字母互相替换 封装GP

  • C语言详细分析常见字符串函数与模拟实现

    目录 一. strlen(求长度) 二. strcpy(拷贝) 三.strcat(追加) 四.strcmp 五.strncpy 六.strncat 七.strncmp 八.strstr 九.strtok 十.strerror 十一.memcpy 十二.memmove 十三.memcmp 十四.memset 一. strlen(求长度) size_t  strlen ( const char * str ) 函数的返回值类型为size_t,为无符号数,且strlen返回值为字符串中‘\0’前的字符

  • C语言详细讲解常用字符串处理函数

    目录 一.strlen() 1. 函数原型: 2. 手动实现: 二.strcat() 1. 函数原型: 2. 手动实现: 三.strcpy() 1. 函数原型: 2. 手动实现: 四.strcmp() 1. 函数原型: 2. 手动实现: 五.memset() 1. 函数原型: 2. 手动实现: 一.strlen() 1. 函数原型: size_t strlen(const char *str) 参数str: 要计算的字符串的长度返回值: 返回字符串 str 的长度,直到遇到结束字符'\0',但不

  • C语言字符串函数与内存函数精讲

    目录 strlen strcpy strcat strcmp strncpy strncat strncmp strstr strtok strerror tolower\toupper memcpy memmove memcmp memset strlen 获取字符串长度. strlen - size_t strlen( const char *string ); 1.字符串以’\0’作为结束标志,strlen函数返回的是在字符串中’\0’前面出现的字符个数(不包含’\0’). 2.参数指向的

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

    目录 1.gets函数 2.puts函数 3.strcat函数 4.strcpy函数(strncpy函数) 5.strcmp函数(strncmp函数) 6.strlen函数 7.strlwr函数 8.strupr函数 9.strstr函数 注意:在使用字符串处理函数时,一定要使用#include <string.h>开头 1.gets函数 其形式为:gets(字符数组)——输入字符串的函数 作用是从终端输入一个字符串到字符数组,并且得到一个函数值. 2.puts函数 其形式为:puts(字符数

  • C语言超详细讲解字符串相乘

    目录 前言 一. 分析思路 二.使用步骤 1.代码如下 2.memset函数 三.总结 前言 我们已经知道,正常的两位整形数据通过*相乘,C语言中int为4字节,32bit(字节),其机器码第一位为符号位,余下31位表示数字,表示范围:-2^31(-2147483648)~2^31-1(2147483647),但超过了这个范围我们该如何做呢? 提示:将数字以字符串的形式进行操作 一. 分析思路 示例: 我们把每一个数都看成是一个字符串,每一个元素为十进制数字所对应的字 符,由于是后面的元素先进行

  • C语言超详细讲解getchar函数的使用

    目录 一.getchar 函数 二.缓冲区 1.什么是缓冲区 2.为什么要存在缓冲区 3.缓冲区的类型 4.缓冲区的刷新 三.getchar 函数的正确使用 1.getchar 的换行问题 2.getchar 与 scanf 的混合使用 一.getchar 函数 从上面的介绍来看,我们要正确使用getchar函数,首先得了解什么是缓冲区. 二.缓冲区 1.什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分. 也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部

  • C语言超详细讲解指向函数的指针

    目录 一.函数的指针 二.指向函数的指针变量 三.调用函数的两种方式 四.指向函数的指针的作用 五.用指向函数的指针作函数参数(重点) 六.为什么要将指向函数的指针变量作为函数的形参(重点) 一.函数的指针 首先,函数名代表函数的起始地址,调用函数时,程序会从函数名获取到函数起始地址,并从该地址起执行函数中的代码,函数名就是函数的指针,所以我们可以定义一个指向函数的指针变量,用来存放函数的起始地址,这样一来,就可以通过该变量来调用其所指向的函数. 二.指向函数的指针变量 定义指向函数的指针变量

  • C语言超全面讲解函数的使用方法上

    目录 一.函数的分类 1.库函数 2.自定义函数 3.库函数的分类 二.函数调用 1.传值调用 2.传址调用 三.函数的声明 四.函数定义 五.函数的参数 1.形式参数(形参) 2.实际参数(实参) 六.函数的练习 C语言超全面讲解函数的使用方法下 一.函数的分类 1.库函数 库函数是C语言基础库为了方便程序员进行软件开发而提供了一系列的函数,可以支持可移植性和提高程序的效率. ️ 注意:库函数需要引头文件. 例如:strlen函数的头文件是<string.h> 2.自定义函数 自定义函数和库

  • C语言超全面讲解函数的使用方法下

    目录 一.函数的嵌套调用 二.函数的链式访问 三.函数递归 递归的优缺点 必要条件 使用场景 函数递归的细节说明 举例说明 对两个必要条件的理解 四.递归练习 C语言超全面讲解函数的使用方法上 一.函数的嵌套调用 在定义函数时,一个函数内不能再定义另一个函数,即不能嵌套定义,但可以嵌套调用函数,即在调用一个函数的过程中,又调用另一个函数. ️注意: 函数可以嵌套调用但是不可以嵌套定义. 每一个函数都应该在大括号的外面独立存在. 代码示例: 根据这张图可以清楚的看到,three_line() 函数

  • C语言超详细讲解函数栈帧的创建和销毁

    目录 1.本节目标 2.相关寄存器 3.相关汇编指令 4.什么是函数栈帧 5.什么是调用堆栈 6.函数栈帧的创建和销毁 (1).main函数栈帧的创建与初始化 (2).main函数的核心代码 (3).Add函数的调用过程 (4).Add函数栈帧的销毁 (5).调用完成 7.对开篇问题的解答 1.本节目标 C语言绝命七连问,你能回答出几个? 局部变量是如何创建的?为什么局部变量不初始化其内容是随机的?有些时候屏幕上输出的"烫烫烫"是怎么来的?函数调用时参数时如何传递的?传参的顺序是怎样的

  • C语言超详细讲解函数指针的运用

    目录 前言 计算器的例子 回调函数 转移表 前言 前面我们学习了各种各样的指针类型,有些指针可以说是稀奇百怪,特别是函数指针,有些朋友可能觉得,函数指针有些多余,调用函数为什么要用指针调用,直接调用不好吗? 接下来我们从具体的实例来回答同学们的问题,加深对函数指针的理解. 计算器的例子 接下来我们写一个简单的计算器程序,完成不同的计算功能比如加减乘除: #include <stdio.h> //相加函数 int add(int a, int b) { return a + b; } //相减函

  • C语言超详细讲解文件的操作

    目录 一.为什么使用文件 二.什么是文件 1.程序文件 2.数据文件 3.文件名 三.文件指针 四.文件的打开和关闭 五.文件的顺序读写 六.文件的随机读写 fseek ftell rewind 七.文件结束判定 一.为什么使用文件 当我们写一些项目的时候,我们应该要把写的数据存储起来.只有我们自己选择删除数据的时候,数据才不复存在.这就涉及到了数据的持久化的问题,为我们一般数据持久化的方法有,把数据存在磁盘文件.存放到数据库等方式.使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的持久

随机推荐