C语言——字符函数和字符串函数(一)

这篇具有很好参考价值的文章主要介绍了C语言——字符函数和字符串函数(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

📝前言:
这篇文章对我最近学习的有关字符串的函数做一个总结和整理,主要讲解字符函数和字符串函数(strlen,strcpy和strncpy,strcat和strncat)的使用方法,使用场景和一些注意事项(附上实例)

🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:生活在自己的光里,不断吹饮内心的火焰


一,字符分类函数

📋C语言里提供一系列的函数专门用于字符分类,便于我们**判断一个字符是属于什么类型的字符**👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法
如islower:

int islower(int c)
islower就会判断参数部分的c是否是小写字母(字符→ASCII值)

1,使用实例(islower)

●这些函数的使用方法非常类似,一下对其中的islower做使用的展示👇🏻

代码作用:用islower判断字符后,将小写的字母转换为大写,其他字符不变

#include<stdio.h>
#include<ctype.h>
int main()
{
	char str[] = "Test Islower.";
	int sz = sizeof(str) / sizeof(str[0]);
	for (int i = 0; i < sz; i++) //用for循环,因为一次只能判断一个字符
	{
		if (islower(str[i]))  //判断是否为小写,小写就加入if语句
		{
			str[i] = str[i] - 32;  //将小写转换为大写
		}
		putchar(str[i]);  //输出字符
	}
	return 0;
}

输出结果👇🏻

C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

二,字符转换函数

下面介绍两种可以实现大小写之间互相转化的函数👇🏻

1,int tolower(int c);大写字母转换为小写字母
2,int toupper(int c);小写字母转换为大写字母

在上一个用islower判断大小写后,我们是通过小写字符-32的形式来转化为大写字符的,这次我们使用toupper函数来实现转换👇🏻

#include<stdio.h>
#include<ctype.h>
int main()
{
	char str[] = "Test Islower.";
	int sz = sizeof(str) / sizeof(str[0]);
	for (int i = 0; i < sz; i++)
	{
		if (islower(str[i]))  
		{
			toupper(str[i]);  //使用toupper函数
		}
		putchar(str[i]);  
	}
	return 0;
}

输出结果👇🏻

C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

三,函数strlen

用来计算字符串的长度

1,基本介绍

我们来看一下C语言官网对它的介绍👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

●原文:C字符串的长度是由终止空字符决定:C字符串的长度等于字符串开头和终止字符之间的字符数(但不包括终止字符本身)
●通俗来讲就是:字符串开头到\0之前字符的个数

2,使用注意事项

🔍但是这也造成了strlen的“固执”,strlen只有遇到\0才会停止查找,否则就会一直查找

请看下面的代码👇🏻

#include<stdio.h>
#include<string.h>
int main()
{
	char arr1[] = "abcde";
	char arr2[] = { 'a','b','c','d','e'};
	printf("%d\n", strlen(arr1));
	printf("%d\n", strlen(arr2));
	return 0;
}

运行结果👇🏻

C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法
⭐结果不一样就是因为strlen在arr2的未知位置才找到了\0
arr1数组中存放的是:a b c d e \0程序自动在字符串后面补充了\0
arr2数组中存放的是:a b c d e 没有\0,因此strlen会一直找\0找到才停止,输出结果 33 其实是一个随机值(刚好strlen在内存里找到了\0

四,strcpy和strncpy

头文件:<string.h>
作用:复制字符串

1,strcpy

我们先来看strcmp👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

函数原型:char* strcpy(char* destination, const char* source);

●对重要的内容解读一下与数理:
1,原字符串必须以\0结尾,函数复制完\0以后就会停止
2,目标空间要足够大,要存放的下所要复制的字符串
3,目标空间必须可修改(比如:字符数组可以修改,但是,常量字符串就是不能修改的)

实例👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

但是,如果源字符里有\0,则复制完\0就会停止👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

2,strncpy

和strcpy的区别就是多了一个n→num(复制的字符的个数)

char* strncpy(char* destination, const char* source, size_t num);

C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法
复制num个字符从源字符串到目标空间
●如果num>源字符串长度,则复制完源字符串后,目标后面追加0,直到num个
👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法
可以观察到:
num的限制就是刚好复制num个字符,并且没有更改目标空间原来后面的内容

五,strcat和strncat

头文件:<string.h>
作用:连接字符串

1,strcat

C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法

⭐提炼一下:
源字符串必须以\0结尾,函数追加完\0以后就会停止
●从目标中的终止空字符串开始覆盖(目标字符串也必须以\0结尾,因为目标字符串的\0就是开始追加的位置,这个\0会被覆盖掉)
目标空间要足够大(>(目标字符串+源字符串)的大小)
目标空间必须可以修改

实例👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法
可见,源字符串中间有空字符也不会停止

2,strncat

C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法
⭐区别:
●从源字符串追加num个字符到目标字符串的末尾,追加完以后再追加一个\0
●如果num>源字符串长度,则只会将源字符串中\0之前的内容追加到目标字符串的末尾**

实例👇🏻
C语言——字符函数和字符串函数(一),C语言入门基础,c语言,开发语言,经验分享,笔记,学习方法


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!文章来源地址https://www.toymoban.com/news/detail-756711.html

到了这里,关于C语言——字符函数和字符串函数(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言:字符函数和字符串函数

    C语言:初识C语言 C语言:分支语句和循环语句 C语言:函数 C语言:数组 C语言:操作符详解 C语言:指针详解 C语言:结构体 C语言:数据的存储 今天来盘一下字符函数和字符串函数。 C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常

    2024年02月11日
    浏览(69)
  • C语言——字符函数和字符串函数

    assert.h 头文件定义了宏assert(),⽤于在运⾏时确保程序符合指定条件,如果不符合,就报 错终⽌运⾏。这个宏常常被称为 “断⾔” 。 assert() 宏接受⼀个表达式作为参数。如果该表达式为真(返回值⾮零), assert() 不会产⽣任何作⽤,程序继续运⾏。如果该表达式为假(

    2024年04月25日
    浏览(54)
  • 【C语言】字符函数和字符串函数

      目录 1.求字符串长度strlen 2.长度不受限制的字符串函数 字符串拷贝strcpy 字符串追加strcat 字符串比较strcmp 3.长度受限制的字符串函数介绍strncpy strncat ​编辑strncmp 4.字符串查找strstr 5.字符串分割strtok 6.错误信息报告 strerror perror 7.字符分类函数 8.字符转换函数  9.内存操作函

    2024年02月12日
    浏览(59)
  • C语言—字符函数和字符串函数

    C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串中或者字符数组中。字符串常量适用于那些对它不做修改的字符串函数。 strlen函数的介绍 strlen函数用于求字符串的长度 注: 字符串已经 ‘\\0’ 作为结束标志,strlen函

    2024年02月07日
    浏览(45)
  • C语言字符函数和字符串函数详解

           Hello, 大家好,我是一代,今天给大家带来有关字符函数和字符串函数的有关知识        所属专栏:C语言        创作不易,望得到各位佬们的互三呦 在C语言中有一些函数是专门为字符设计的,这些函数的使用都需要包含一个头文件ctype.h 如:(注:以下函数原型都

    2024年03月20日
    浏览(54)
  • C语言——字符函数和字符串函数(二)

    📝前言: 上一篇文章C语言——字符函数和字符串函数(一)对 字符函数和字符串函数 strlen , strcpy 和 strncpy , strcat 和 strncat 进行了初步的讲解 这篇文章主要再讲解几个我们 常用到的其他字符串函数 (附上实例): 1,strcmp和strncmp 2,strstr 🎬个人简介:努力学习ing 📋个

    2024年02月04日
    浏览(49)
  • 【C语言】字符函数和字符串函数(1)

    #国庆发生的那些事儿# 大家好,我是苏貝,本篇博客带大家了解字符函数和字符串函数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 求字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数介绍 strncpy strncat strncmp 字符串查

    2024年02月08日
    浏览(39)
  • 【c语言】字符函数与字符串函数(上)

    大家好呀,今天给大家分享一下字符函数和字符串函数,说起字符函数和字符串函数大家会想到哪些呢??我想到的只有求字符串长度的strlen,拷贝字符串的strcpy,字符串比较相同的strcmp,今天,我要分享给大家的是我们一些其他的字符函数和字符串函数,跟着小张一起去看看吧

    2024年02月13日
    浏览(77)
  • C语言——字符函数和字符串函数(一)

    📝前言: 这篇文章对我最近学习的有关 字符串的函数 做一个总结和整理,主要讲解 字符函数和字符串函数(strlen,strcpy和strncpy,strcat和strncat)的使用方法,使用场景和一些注意事项 (附上实例) 🎬个人简介:努力学习ing 📋个人专栏:C语言入门基础 🎀CSDN主页 愚润求

    2024年02月04日
    浏览(64)
  • 进阶C语言-字符函数和字符串函数

    ✅注意事项: 字符串以 \\\'\\0\\\' 作为结束标志, strlen函数 返回的是在字符串中 \\\'\\0\\\' 前面出现的字符个数(不包括 \\\'\\0\\\' ) 参数指向的字符串必须以 \\\'\\0\\\' 结束 注意函数的返回值是 size_t ,是无符号的 ✅运行示例: 🔭1.1.1strlen函数的模拟实现 📖1.计数器法 assert函数 的 作用 是断言,

    2024年02月04日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包