C之·标准库<string.h>

系列文章目录


文章目录


前言

<stdlib.h> 是C语言中的一个头文件,提供了一系列用于操作字符串的函数。例如查找子字符串、拼接字符串、比较字符串等等。为了方便开发者进行字符串操作,C语言提供了一个标准库函数string.h。这些函数能够帮助开发者更加方便地进行字符串处理,提高代码的效率和可读性。


一、字符串分割函数

1.strtok()

c 复制代码
函数原型:char *strtok(char *str, const char *delim)
函数功能:分解字符串 str 为一组字符串,delim 为分隔符
函数参数:str -- 要被分解成一组小字符串的字符串
		 delim -- 包含分隔符的 C 字符串
返回值:该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针

注意:

  • 分割处理后原字符串 str 会变,变成第一个子字符串
  • 原字符串的改动是切分符原位置均更改为 '\0',所以内容都还在,可以通过逐个字符打印检验

示例:

c 复制代码
void test05()
{
	char str[80] = "This is =string slipt =test";
   const char s[2] = "=";
   char *token;
   
   token = strtok(str, s);
   while( token != NULL ) {
      printf("%s\n", token );
    
      token = strtok(NULL, s);
   }
   
   printf("--------------------\n");
   
//   token = strtok(NULL, s);
//   printf("%s\n",token);
//   
//   token = strtok(NULL, s);
//   printf("%s\n",token);
   
   printf("--------------------\n");
   
   printf("%s\n",str);
   fputs(str,stdout);
   printf("\n");

	for (int i = 0; i < 34;i++)
        printf("%c", str[i]);
   
   printf("\n");
   

	  char ch[80] = "Hello\\nWorld \\ this \\ is \\ test";
    fputs(ch, stdout);
   printf("\n");
   printf("--------------------\n");
   char sep[2] = "\\";
   
   for(token = strtok(ch,sep);token != NULL;token = strtok(NULL,sep))
   printf("%s\n",token);
} 

运行结果:

2.


总结

相关推荐
北冥湖畔的燕雀2 小时前
C++泛型编程(函数模板以及类模板)
开发语言·c++
QX_hao3 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白3 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
Evand J5 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
朱嘉鼎5 小时前
状态机的介绍
c语言·单片机
爱喝白开水a6 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
Neverfadeaway6 小时前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
武子康6 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
一碗绿豆汤6 小时前
c语言-流程控制语句
c语言
杰克尼6 小时前
JavaWeb_p165部门管理
java·开发语言·前端