C语言-字符函数、字符串函数
目录字符函数字符分类函数字符转换函数字符串函数strcpy函数strcat函数strcmp函数长度受限制函数strstr函数strtok函数strerror函数perror函数字符函数字符函数包含在ctype.h头文件中可以找到这类函数。字符分类函数判断一个字符是否属于某一类字符若属于返回非0数若不属于返回0.字符分类函数有常用的判断字符大小写函数在代码中的使用如下#includestdio.h int main() { int a islower(A);//返回0 printf(%d\n, a); int b isupper(A);//返回非零数 printf(%d\n, b); return 0; }字符转换函数用于对字符类型的转换大部分字符分类函数都有对应的字符转换函数例如转换为大写字符的函数为toupper()字符转换函数不会对原字符进行改变会创建一个新的字符在代码中的的使用如下#includestdio.h int main() { char str[] Hello world; int i 0; while (str[i] ! \0) { if (islower(str[i])) { str[i] toupper(str[i]);//将小写字母转换为大写字母 } i; } printf(%s, str); return 0; }字符串函数字符串函数包含在头文件string.h中使用时需要包含头文件。strcpy函数用于对字符串的拷贝将一个字符串的内容拷贝给另一个字符串将“\0”以及之前的字符都拷贝过去形如char* strcpy(char* destination,const char* source);第一个参数是拷贝的目的地第二个参数是需要拷贝的源内容其返回值是目标内存空间的。在代码中的使用如下#includestdio.h #includestring.h int main() { char str[] abcde; char str1[] 777; char* p strcpy(str, str1); printf(%s\n, str); printf(%s\n, p);//调用函数返回值来打印字符串 return 0; }strcat函数字符串追加函数用于将一个字符串追加到另一个字符串后面其形式和strcpy函数基本一致“\0”也会追加目标字符串的空间要足够大否则会有警告在代码中的使用如下int main() { char str[20] abcde; char str1[] 77777; char* p strcat(str, str1); printf(%s\n, str); printf(%s\n, p); return 0; }strcmp函数字符串比较函数用于比较两个字符串的大小会从由左至右一个字符一个字符的挨着比较直到有不同的字符比较出大小了就直接退出其函数定义int strcmp(const char* str1,const char* str2),其返回值str1 str2时返回大于0的数str1 str2时返回0str1 str2时返回小于0的数在代码中的使用如下int main() { char str[] abcde; char str1[] abcf; int a strcmp(str, str1);//比较结果strstr1,返回值为-1 printf(%d\n, a); return 0; }上述三个函数为长度不受限制函数接下来的三个函数为长度受限制的函数长度受限制函数strncpystrncatstrncmp其功能与前面讲述的三个函数一样只是多了限位功能例如strncpy函数定义为char* strncpy(char* destination, const char* source,size_t num);(长度受限函数拷贝时不会拷贝“\0”,在拷贝数查出源字符数时会补“\0”),这三个函数在代码中的使用如下strncpyint main() { char str[] abcde; char str1[] qqq; char* a strncpy(str, str1,2); printf(%s\n, str); printf(%s\n,a) return 0; }strncatint main() { char str[20] abcde; char str1[] qqq; char* a strncat(str, str1,1);//在“abcde”后面加上一个“q” printf(%s\n, str); printf(%s\n, a); return 0; }strncmpint main() { char str[20] abcde; char str1[] abfys; int a strncmp(str, str1,2);//比较两个字符串前两字符strstr1返回值0 int b strncmp(str, str1, 3);//比较两个字符串前三字符strstr1返回值小于0 printf(%d\n, a); printf(%d\n, b); return 0; }strstr函数查找子字符串函数查找的时第一个出现的子字符串其返回值也是第一个出现的子字符串的首地址查不到时返回NULL.在代码中的使用如下int main() { char str[20] abcde; char str1[] cd; char* p strstr(str, str1);//在str中查找str1 if (p NULL) { printf(没有找到\n); } else { printf(找到了\n); printf(%s\n, p);//从找到子字符串的首地址处开始打印字符串这里输出cde } return 0; }strtok函数分割字符串函数函数定义char* strtok(char* str,const char* delim);第一个参数是字符串第二个人参数是分割符返回值成功分割时返回分割字符串的首地址分割完成后返回NULL首次调用时传入待分割字符串和分割符后续调用时传入NULL和相同分割符继续分割当函数返回NULL时表示分割完成。PS该函数会直接修改源字符串数据因此使用时最好备份一份用备份的子符串进行分割当两个及以上分割符挨着一起时会当作一个分割符处理第一次调用函数时不能传入NULL在代码中的使用如下int main() { char str[20] abc.ags%slks.asw; char str1[] .%; for (char* p strtok(str, str1);p ! NULL;p strtok(NULL, str1))//配合for循环使用 { printf(%s\n, p); } return 0; }strerror函数函数定义char* strerror (int errnum);可以通过errnum表示的错误码得到错误信息并返回这个错误信息的首字符地址在程序运行时会自动创建全局变量errno,用于存放错误信息码使用时需要包含头文件errno.h,在代码中的使用如下#includestdio.h #includestring.h #includeerrno.h int main() { int i 0; for (i 0;i 10;i) { printf(%s\n, strerror(errno)); } return 0; }perror函数用于打印程序错误信息函数定义为void perror(const char* str);函数的参数为自定义字符串运行时会先打印自定义的字符串再打印程序错误信息相当于printf()strerror()的功能在代码中的使用如下#includestdio.h #includestring.h int main() { perror(错误信息为); return 0; }

相关新闻

电子开关电路设计:三极管与MOS管选型、驱动与实战详解

电子开关电路设计:三极管与MOS管选型、驱动与实战详解

1. 项目概述:从“开关”这个基础需求说起在电子电路设计里,用半导体器件当“开关”来控制一个负载的通断,可以说是最基础、最频繁遇到的需求之一。无论是点亮一个LED,驱动一个继电器,还是控制一个电机,本质…

2026/8/1 6:35:11 阅读更多 →
如何实现TikTok Shop批量抓取采集自动化?C++底层指纹伪装,抹除自动化特征

如何实现TikTok Shop批量抓取采集自动化?C++底层指纹伪装,抹除自动化特征

如何实现TikTok Shop批量抓取采集自动化?C底层指纹伪装,抹除自动化特征 搞店群运营这行,TikTok Shop的批量抓取采集,是店群运营中最耗人力也最容易出错的环节。 采集竞品数据是店群运营的命脉。但各大平台的反爬系统越来越强&am…

2026/8/1 6:35:11 阅读更多 →
如何实现TEMU多店防关联管理自动化?单机管理200+店铺零关联的底层架构

如何实现TEMU多店防关联管理自动化?单机管理200+店铺零关联的底层架构

如何实现TEMU多店防关联管理自动化?单机管理200店铺零关联的底层架构 干店群想赚钱,核心就两个字——效率。TEMU的多店防关联管理,是店群运营中最耗人力也最容易出错的环节。 做店群的老板都知道,最怕的就是底层IP和硬件指纹穿帮…

2026/8/1 6:35:11 阅读更多 →

最新新闻

深入解析74HC138译码器:从核心原理到单片机IO扩展实战

深入解析74HC138译码器:从核心原理到单片机IO扩展实战

1. 项目概述:从“编码”到“解码”的桥梁在数字电路的世界里,我们常常需要处理各种“语言”的转换。比如,一个微处理器内部运算用的是二进制“机器码”,但最终要驱动七段数码管显示成我们熟悉的“0-9”数字,这个过程就…

2026/8/1 7:14:56 阅读更多 →
STM32旋转编码器应用指南:从正交解码原理到软硬件实现

STM32旋转编码器应用指南:从正交解码原理到软硬件实现

1. 从“旋钮”到“脉冲”:旋转编码器到底是什么?如果你玩过音响设备、调过3D打印机,或者拆解过一些老式的工业控制面板,大概率见过一个可以无限旋转的旋钮。它不像普通电位器那样有固定的起点和终点,却能精准地告诉你“…

2026/8/1 7:14:56 阅读更多 →
护网2026蓝队AI实战防守全教程:对抗AI攻击落地方法与复盘总结

护网2026蓝队AI实战防守全教程:对抗AI攻击落地方法与复盘总结

2026年政企护网行动的一线防守数据,已经彻底推翻了过去三年的安全防守逻辑。往年护网对抗,蓝队的核心压力集中在海量告警筛选、常规漏洞利用、webshell查杀、横向移动拦截这类传统攻防场景,依靠成熟的WAF、EDR、SIEM设备,搭配固化…

2026/8/1 7:14:56 阅读更多 →
VBScript脚本编程:从整蛊到自动化,Windows脚本入门指南

VBScript脚本编程:从整蛊到自动化,Windows脚本入门指南

1. 项目概述:从“整蛊”到脚本启蒙的VBS世界说起Vbs,很多老一代的电脑玩家,尤其是经历过Windows XP到Windows 7时代的朋友,嘴角可能会不自觉地泛起一丝“坏笑”。在那个网络娱乐尚不如今日这般丰富的年代,一段段用记事…

2026/8/1 7:14:56 阅读更多 →
Python实现数值积分算法:从梯形公式到自适应与龙贝格方法

Python实现数值积分算法:从梯形公式到自适应与龙贝格方法

1. 从“手算”到“码算”:数值积分为什么是程序员的必修课? 刚入行那会儿,我总觉得数值计算是数学系或者搞科研的人才会碰的东西,离我们这些写业务代码的程序员很远。直到有一次,我需要在一个数据分析项目里&#xff0…

2026/8/1 7:14:56 阅读更多 →
Python图像处理入门:Pillow库的读、看、存核心操作详解

Python图像处理入门:Pillow库的读、看、存核心操作详解

1. 项目概述:为什么是PIL/Pillow?在Python的图像处理世界里,PIL(Python Imaging Library)或者说它的现代继承者Pillow,几乎是绕不开的基石。很多刚接触Python图像处理的朋友,可能会被OpenCV、sc…

2026/8/1 7:13:56 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →