C语言特殊字符串函数和字符函数

devtools/2024/9/25 13:22:05/

特殊字符串函数

strtok(字符串切割函数)

重点:1.delimiters 参数是个字符串,定义了用作分割符的字符集合

2.第一个参数指定一个字符串,里面包含0个或者多个分隔符

3.strtok函数找到str中的分隔符,会把它改成'\0',然后返回指向这个分隔符前面字符串的指针

4.strtok函数会改变被操作的字符串,所有使用strtok函数切分的字符串一般是临时拷贝的内容并且可修改。

5.strtok函数的第一个参数不是NULL,函数将找到str中的第一个切割的字符串,函数将保存它在字符串中的位置。

6.strtok函数的第一个参数是NULL,函数将在同一个字符串中被保存的位置开始,查找下一个要切割的字符串。

7.如果字符串中找不到切割符切割的字符串了,就返回NULL指针。

使用:

#include<stdio.h>
#include<string.h>int main()
{char* p = "12345@bit@byte.34555@qq.com";const char* sep = ".@";char arr[30];char* str = NULL;strcpy(arr, p);for (str = strtok(arr, sep); str != NULL; str = strtok(NULL, sep)){printf("%s\n", str);}
}

strerror(返回错误码,所对应的错误信息)

使用:

#include<stdio.h>
#include<string.h>//这个包含strerror函数
#include<errno.h>//必须包含的头文件 因为errnoint main()
{FILE* pf = fopen("data.txt", "r");if (pf == NULL){printf("错误原因是:%s\n", strerror(errno));return 0;}
}

这是个打开文件失败的列子。对于错误信息的打印我们一般用 perror:直接打印错误信息。

#include<stdio.h>int main()
{FILE* pf = fopen("data.txt", "r");if (pf == NULL){//printf("错误原因是:%s\n", strerror(errno));perror("fopen");return 0;}
}

字符函数

 


http://www.ppmy.cn/devtools/116984.html

相关文章

LabVIEW界面输入值设为默认值

在LabVIEW中&#xff0c;将前面板上所有控件的当前输入值设为默认值&#xff0c;可以通过以下步骤实现&#xff1a; 使用控件属性节点&#xff1a;你可以创建一个属性节点来获取所有控件的引用。 右键点击控件&#xff0c;选择“创建” > “属性节点”。 设置属性节点为“D…

9/24作业

1. 分文件编译 分什么要分文件编译&#xff1f; 防止主文件过大&#xff0c;不好修改&#xff0c;简化编译流程 1) 分那些文件 头文件&#xff1a;所有需要提前导入的库文件&#xff0c;函数声明 功能函数&#xff1a;所有功能函数的定义 主函数&#xff1a;main函数&…

私有化通讯工具:安全、高效、个性化,重塑企业沟通生态

在当今数字化时代&#xff0c;即时通讯已成为企业日常运营中不可或缺的一部分。随着数据安全和隐私保护意识的日益增强&#xff0c;越来越多的企业开始寻求更加安全、可控的沟通方式。私有化聊天工具应运而生&#xff0c;以其独特的核心优势&#xff0c;为企业构建了一个安全、…

【设计模式-迭代】

定义 迭代器模式&#xff08;Iterator Pattern&#xff09;是一种行为型设计模式&#xff0c;用于提供一种顺序访问集合对象元素的方式&#xff0c;而不暴露该对象的内部表示。通过迭代器&#xff0c;客户端可以在不需要了解集合实现的细节的情况下遍历集合中的元素。 UML图 …

mysql查询某个库下所有表的数据量

要查询MySQL数据库下指定数据库的所有表的数据量&#xff08;即每个表中的记录数&#xff09;&#xff0c;可以使用以下步骤&#xff1a; 1&#xff09;连接到MySQL数据库&#xff1a;首先&#xff0c;你需要使用MySQL客户端或任何支持MySQL连接的编程语言&#xff08;如Pytho…

WebSocket实现在线聊天室

项目实现源码&#xff1a; 前端源码 后端源码 1.常见的消息推送方式 1.1 轮询 1.1.1 轮询的概念 客户端以固定的事件间隔&#xff08;例如每秒或几分钟&#xff09;向服务器发送HTTP请求&#xff0c;服务器收到请求后&#xff0c;处理请求并返回数据给客户端 轮询具体实现htt…

Android外接USB扫码枪

前言 公司的设备以前接入的都是串口的扫码头&#xff0c;优点是直接通过串口读取流里面的数据就OK了&#xff0c;缺点是你需要知道每一款扫码器的型号以获取波特率及Android设备的串口地址。因为现在usb扫码器越来越方便且即插即用&#xff0c;不需要额外供电以及价格便宜等特…

STM32CubeIDE | 使用HAL库的ADC读取内部传感器温度

1、cubemx配置 1.1、系统配置 1.2、GPIO配置 PB2设置为“GPIO_Output” user label设置为“LED” 1.3、串口配置 模式选择为“Asynchronous”&#xff0c;其他默认 1.4、时钟树配置 全部保持默认 2、ADC配置 通道选择“Temperature Sensor Channel”&#xff0c;其他默认 …