【C语言】深入精讲字符串处理函数使用与优化

这篇具有很好参考价值的文章主要介绍了【C语言】深入精讲字符串处理函数使用与优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、字符串处理函数

1、测量字符串的长度 strlen

2、字符串拷贝函数 strcpy/strncpy(拷贝前n个字符)

 3、字符串追加函数strcat/strncat

4、字符串比较函数strcmp

 5、字符查找函数strchr/strrchr

 6、字符串查找strstr

7、字符串替换函数memset

8、字符串 切割 strtok

 二、字符串转数值

1、函数实现

2、代码实现​编辑


一、字符串处理函数

        以str开头的函数 都是字符串操作函数 都是遇到'\0'结束操作

头文件:#include<string.h>        

1、测量字符串的长度 strlen

用法:size_t strlen(const char *s);//const只读

s是需要测量字符串的首元素地址'\0'不会被测量

举例:

char str[100]="hello world";

strlen(str) == 11;

2、字符串拷贝函数 strcpy/strncpy(拷贝前n个字符)

        拷贝 src指向的字符串到dest指针指向的内存中,遇到'\0’结束并且拷贝,返回值为目的内存地址。

用法:char *strcpy(char *dest, const char *src);

           char *strncpy(char *dest, const char *src, size_t n);

dest:目的空间地址

src:原字符串的首元素地址

举例:

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言

 3、字符串追加函数strcat/strncat

用法:char *strcat(char *dest, const char *src);

           char *strncat(char *dest, const char *src, size_t n);

将src指向的字符串 追加到 dest指向的字符串尾部

举例: 

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言

4、字符串比较函数strcmp

用法:int strcmp(const char *s1, const char *s2);

           int strncmp(const char *s1, const char *s2, size_t n);

逐一比较字符ASCII码值。

返回值:

>0 字符串s1 > 字符串s2

<0 字符串s1 < 字符串s2

==0 字符串s1 == 字符串s2

举例: 

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言

 5、字符查找函数strchr/strrchr

用法:char *strchr(const char *s, int c);//从前往后查

           char *strrchr(const char *s, int c);//从后往前查

strchr返回值为从前往后找 第一次出现字符c的地址,若没找到,则返回NULL

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言

 6、字符串查找strstr

用法:char *strstr(const char *haystack, const char *needle);

返回值:找到返回找到的地址 失败 返回NULL

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言

7、字符串替换函数memset

用法:void *memset(void *str, int c, size_t n)

复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符

该值返回一个指向存储区 str 的指针

案例:将world替换为$$$$$

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言

8、字符串 切割 strtok

用法:char *strtok(char *str, const char *delim);

第一次切割:str必须指向待切割的字符串的首元素地址 delim指向分割符”|“

    后续切割:str传NULL delim指向分割符"|"

返回值: 成功:返回值子串的首元素地址

               失败:返回NULL

切割方式1:

#include <stdio.h>
#include<string.h>
void test()
{   
	char str[] = "aaaa|bbbb|cccc|dddd";
	int i = 0;
	char *buf[30];//存放字串首元素地址
	buf[i]=strtok(str, "|");//第一次存
	while (buf[i] != NULL)
	{
		i++;
		buf[i] = strtok(NULL, "|");//后续存
	}
    //遍历切割完后的字串
	for (int j = 0; j < i; i++)
	{
		printf("%s\n", buf[i]);	
	}
}

 切割方式2:

	char str[] = "aaaa|bbbb|cccc|dddd";
	int i = 0;
	//buf[0] = str
	char* buf[30] = {str};//存放子串首元素地址
	//后续切
	int i = 0;
	while (1)
	{
		buf[i] = strtok(str[i], "|");
		if (buf[i] == NULL)
			break;
		i++;
	}

简化切割方式:

	char str[] = "aaaa|bbbb|cccc|dddd";
	//buf[0] = str
	char* buf[30] = {str};//存放子串首元素地址
	//后续切
	int i = 0;
	while ((buf[i] = strtok(buf[i], "|")) && (++i));

 二、字符串转数值

1、函数实现

头文件:#include<stdlib.h>

atoi将数值字符串 转成 int类型

atol将数值字符串 转成 long类型

atof将数值字符串 转成 float类型

【C语言】深入精讲字符串处理函数使用与优化,C语言,c语言,开发语言文章来源地址https://www.toymoban.com/news/detail-581288.html

2、代码实现

到了这里,关于【C语言】深入精讲字符串处理函数使用与优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • C语言所有字符串函数举例如何使用

    strcpy: 将一个字符串复制到另一个字符串中 strcat: 将一个字符串连接到另一个字符串的末尾 strlen: 返回字符串的长度 strcmp: 比较两个字符串 strchr: 在字符串中查找特定字符 这些都是C语言中常用的字符串函数的例子,它们可以帮助处理和操作字符串。

    2024年01月18日
    浏览(30)
  • 【c语言:常用字符串函数与内存函数的使用与实现】

    简介:本篇文章是对C语言中常用的字符串函数和内存函数的学习以及模拟实现 文档内容来自:https://legacy.cplusplus.com/ 字符串以 ‘\\0’ 作为结束标志, strlen函数返回的是在字符串中 ‘\\0’ 前⾯出现的字符个数( 不包含 \\\'\\0\\\' )。 参数指向的字符串必须要以 ‘\\0’ 结束。 注意函

    2024年02月04日
    浏览(32)
  • 【C语言】——字符串函数的使用与模拟实现(上)

      在我们学习 C语言 的过程中,对 库函数 的使用是必不可少的。其中,相信大家最熟悉的就是 s t d i o . h stdio.h s t d i o . h 中的 p r i n t print p r in t 和 s c a n f scanf sc an f 函数了吧。   但是今天,我们不讲他们(太难了,呜呜呜),今天我们来讲与字符串相关的函数,也就

    2024年04月26日
    浏览(30)
  • C语言【几个关于字符串/字符的函数的使用、几个特殊的++】

    关于++,编译器会作一些处理(根据编译器不同),如下为gcc编译出来的结果:

    2024年02月05日
    浏览(35)
  • C语言:字符串函数的使用方法及模拟实现

    方法一:计数器方式 方法二:指针-指针 1.1 strcpy只用于字符串复制,遇到‘\\0’时停止,还会复制字符串的结束符\\\'\\0\\\'; 所以源字符串必须         以’\\0’结束,也会将源字符串的’\\0’拷贝到目标空间。 1.2 目标空间必须可变。 1.3 如果参数dest所指的内存空间不够大,可能

    2024年04月25日
    浏览(36)
  • 深入探索字符串函数与模拟实现

      目录  前言: 一.常见函数的介绍与模拟实现 一.strlen函数 1.1  strlen函数的介绍 1.2  strlen的模拟实现(三种方式实现) 第一种:计数器的方式 第二种:递归的方式 第三种:指针-指针的方式 二.strcpy函数与strncpy函数 2.1  strcpy函数的介绍  2.2strncpy函数的介绍  2.3  strcpy的模

    2024年02月16日
    浏览(34)
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

    欢迎来CILMY23的博客喔,本期系列为​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】,图文讲解各种字符串函数,带大家更深刻理解C语言中各种字符串函数的应用,感谢观看,支持的可以给个赞哇。  前言 上一篇说到,有不受长度限

    2024年02月22日
    浏览(37)
  • C语言:字符函数和字符串函数(一篇拿捏字符串函数!)

    目录 求字符串长度: 1. strlen(字符串长度) 长度不受限制函数: 2. strcpy(字符串拷贝) 3. strcat(字符串追加) 4. strcmp(字符串比较) 长度受限制函数: 5. strncpy(字符串拷贝) 6. strncat(字符串追加) 7. strncmp(字符串比较) 字符串查找: 8. strstr(查找字符串子串) 9. strtok(字符串分割) 错误信

    2024年02月10日
    浏览(83)
  • C语言 字符串解析strchr/strrchr/strtok//strtok_r函数使用

    在程序中,解析用户输入的参数(命令行参数)是很常见的操作,本文将讲解C语言中常见的一些解析字符串函数使用方法。 1 strchr 1.1 描述 strchr() 用于查找字符串中的一个字符,并返回该字符在字符串中第一次出现的位置。其原型定义在头文件 string.h 中。 char *strchr(const ch

    2024年02月03日
    浏览(31)
  • 深入了解字符串处理算法与文本操作技巧

    引言 字符串处理是计算机科学和数据处理的核心领域之一。本博客将深入介绍一些常见的字符串处理算法和文本操作技巧,包括字符串匹配、搜索、正则表达式、字符串操作和文本标准化等。 暴力匹配算法 什么是暴力匹配? 暴力匹配算法是一种最简单的字符串匹配方法,它

    2024年02月10日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包