C语言标准库中的函数
由于C语言标准库中的函数非常多,我将按类别列出一些常见函数及其作用。请注意,这里不可能列出所有函数,但我会尽量覆盖主要的类别和函数。
### 标准输入输出
- `printf`: 格式化输出到标准输出(通常是屏幕)。
- `scanf`: 从标准输入读取并格式化数据。
- `fprintf`: 格式化输出到文件。
- `sprintf`: 格式化输出到字符串。
- `fgets`: 从文件或标准输入读取字符串。
- `fputs`: 将字符串写入文件或标准输出。
- `putc`: 写入一个字符到文件或标准输出。
- `getchar`: 从标准输入读取一个字符。
- `putchar`: 向标准输出写入一个字符。
### 字符串操作
- `strcpy`: 复制一个字符串到另一个字符串。
- `strncpy`: 复制一个字符串到另一个字符串,最多复制指定数量的字符。
- `strcat`: 将一个字符串添加到另一个字符串的末尾。
- `strncat`: 将一个字符串的部分添加到另一个字符串的末尾。
- `strcmp`: 比较两个字符串。
- `strncmp`: 比较两个字符串的前n个字符。
- `strlen`: 返回字符串的长度。
- `strchr`: 查找字符串中第一次出现指定字符的位置。
- `strrchr`: 查找字符串中最后一次出现指定字符的位置。
- `strstr`: 查找一个字符串在另一个字符串中首次出现的位置。
- `strtok`: 分割字符串为多个由定界符分隔的标记。
- `strtok_r`: 可重入版本的 `strtok`。
- `strspn`: 计算字符串中连续不包含在指定字符集中的字符数量。
### 数学计算
- `sin`, `cos`, `tan`: 计算正弦、余弦和正切值。
- `asin`, `acos`, `atan`: 计算反正弦、反余弦和反正切值。
- `atan2`: 计算两点间的反正切值。
- `sinh`, `cosh`, `tanh`: 计算双曲正弦、双曲余弦和双曲正切值。
- `pow`: 计算 x 的 y 次幂。
- `sqrt`: 计算平方根。
- `fabs`: 计算浮点数的绝对值。
- `floor`: 向下取整到最接近的整数。
- `ceil`: 向上取整到最接近的整数。
- `fmod`: 计算浮点数的模(余数)。
### 动态内存管理
- `malloc`: 分配指定大小的内存块。
- `calloc`: 分配足够存储一个数组的内存,并初始化为0。
- `realloc`: 改变之前分配的内存块的大小。
- `free`: 释放之前分配的内存。
### 时间和日期
- `time`: 获取当前时间。
- `difftime`: 计算两个时间之间的差异。
- `mktime`: 将 `tm` 结构转换为时间_t。
- `gmtime`: 将时间_t转换为 `tm` 结构(UTC时间)。
- `localtime`: 将时间_t转换为 `tm` 结构(本地时间)。
- `asctime`: 将 `tm` 结构转换为可读的字符串。
- `ctime`: 将时间_t转换为可读的字符串。
- `strftime`: 将 `tm` 结构格式化为字符串。
### 文件操作
- `fopen`: 打开一个文件。
- `fclose`: 关闭一个已打开的文件。
- `fread`: 从文件中读取数据。
- `fwrite`: 向文件写入数据。
- `fseek`: 设置文件的读取/写入位置。
- `ftell`: 获取当前文件的读取/写入位置。
- `rewind`: 将文件位置重置为文件开始。
- `feof`: 检查文件是否结束。
- `ferror`: 检查文件是否存在错误。
- `clearerr`: 清除文件的错误和结束标志。
- `remove`: 删除一个文件。
- `rename`: 重命名一个文件。
### 字符分类和转换
- `isalpha`: 检查字符是否为字母。
- `isdigit`: 检查字符是否为数字。
- `isalnum`: 检查字符是否为字母或数字。
- `isspace`: 检查字符是否为空白字符。
- `isupper`: 检查字符是否为大写字母。
- `islower`: 检查字符是否为小写字母。
- `toupper`: 将字符转换为大写。
- `tolower`: 将字符转换为小写。
### 环境和执行控制
- `system`: 执行一个shell命令。
- `exit`: 终止程序并返回状态码。
- `abort`: 异常终止程序。
- `atexit`: 注册一个在程序退出时调用的函数。
### 信号处理
- `signal`: 为程序设置信号处理器。
- `raise`: 发送一个信号给进程。
### 搜索和排序
- `qsort`: 使用快速排序算法对数组进行排序。
- `bsearch`: 在已排序的数组中进行二分查找。
### 系统特定的
- `getenv`: 获取环境变量的值。
- `setenv`, `unsetenv`, `putenv`: 设置或删除环境变量。
### 多线程
- `pthread_create`: 创建一个新线程。
- `pthread_join`: 等待线程终止。
- `pthread_mutex_lock`: 锁定互斥锁。
- `pthread_mutex_unlock`: 解锁互斥锁。
### 网络编程
- `socket`: 创建一个端点(socket)。
- `bind`: 将一个名字绑定到socket。
- `listen`: 设置一个socket为监听状态。
- `accept`: 接受一个连接请求。
- `connect`: 连接到一个socket。
- `send`, `recv`: 发送或接收数据。
### 正则表达式
- `regcomp`: 编译正则表达式。
- `regexec`: 执行正则表达式搜索。
- `regfree`: 释放正则表达式结构。
### 其他
- `memcpy`: 复制内存块。
- `memmove`: 可重叠的内存复制。
- `memcmp`: 比较两个内存块。
- `memset`: 用指定的值填充内存块。
- `rand`: 生成一个伪随机数。
- `srand`: 设置随机数生成器的种子。
- `strtol`: 将字符串转换为长整数。
- `strtoul`: 将字符串转换为无符号长整数。
- `strtod`: 将字符串转换为双精度浮点数。相关文章:
C语言标准库中的函数
由于C语言标准库中的函数非常多,我将按类别列出一些常见函数及其作用。请注意,这里不可能列出所有函数,但我会尽量覆盖主要的类别和函数。 ### 标准输入输出 - printf: 格式化输出到标准输出(通常是屏幕)。 - scanf: …...
Qt5.9.9 关于界面拖动导致QModbusRTU(QModbusTCP没有测试过)离线的问题
问题锁定 参考网友的思路: Qt5.9 Modbus request timeout 0x5异常解决 网友认为是Qt的bug, 我也认同;网友认为可以更新模块, 我也认同, 我也编译了Qt5.15.0的code并成功安装到Qt5.9.9中进行使用,界面拖…...
API的定义理解
前言 在程序员的日常工作中,“API”这个词在程序员的口中重复的次数,绝对是名列前茅的。 但是对刚开始工作的新人来说,API这个概念还是比较模糊。 确实,API这个概念是随着语义环境而不一样的,所以会让人迷惑。 下面…...
启航IT之旅:高考假期预习指南
标题:启航IT之旅:高考假期预习指南 随着高考的落幕,许多有志于IT领域的学子们即将踏上新的学习旅程。这个假期,是他们探索IT世界的黄金时期。本文将为准IT新生们提供一份全面的预习指南,帮助他们为未来的学习和职业生…...
HarmonyOS开发:循环渲染ForEach
需求: 创建多个列表组件,并实现点赞功能 语言: ArkTS 平台: DevEco Studio ForEach 接口描述 ForEach( arr: Array, itemGenerator: (item: Object, index: number) > void, keyGenerator?: (item: Object, index: number) &…...
构建工程化:多种不同的工程体系如何编写MakeFile
源码分析 核心MakeFile 这个 Makefile 是一个复杂的构建脚本,用于管理和构建一个大型项目。它包括多个目标、条件判断和递归调用 make 命令来处理多个子项目和子目录。让我们逐部分进行详细解析。 伪目标和变量定义 .PHONY: all clean install build test init.…...
聚焦从业人员疏散逃生避险意识能力提升,推动生产经营单位每年至少组织开展(疏散逃生演练,让全体从业人员熟知逃生通道、安全出口及应急处置要求,形成常态化机制。
聚焦从业人员疏散逃生避险意识能力提升,推动生产经营单位每年至少组织开展(疏散逃生演练,让全体从业人员熟知逃生通道、安全出口及应急处置要求,形成常态化机制。完整试题答案查看 A.三次B.两次C.一次 综合运用“四不两直”、明察暗访、 ()、…...
【手机取证】如何使用360加固助手给apk加固
文章关键词:手机取证、电子数据取证、数据恢复 一、前言 APP加固是对APP代码逻辑的一种保护。原理是将应用文件进行某种形式的转换,包括不限于隐藏,混淆,加密等操作,进一步保护软件的利益不受损坏,下面给…...
Vue的介绍
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
MySql数据库常用指令合集
MySql数据库常用指令合集 一、创建数据库db11.创建表 字段---表头 student_no,username,sex2.新增单条插入多条插入3.删除4.更新5.查询5.1.查询该表全部信息5.2.查询该表中username,并且要求名字为zhangsan性别女,还可以用(or) 6.…...
ArcGIS Pro SDK (七)编辑 13 注解
ArcGIS Pro SDK (七)编辑 13 注解 文章目录 ArcGIS Pro SDK (七)编辑 13 注解1 注释构建工具2 以编程方式启动编辑批注3 更新批注文本4 修改批注形状5 修改批注文本图形6 接地到网格 环境:Visual Studio 2022 .NET6 …...
模拟面试001-Java开发工程师+简历+问题+回答
模拟面试001-Java开发工程师简历问题回答 目录 模拟面试001-Java开发工程师简历问题回答面试简历面试官题问求职者回答1. 关于Java编程和技术栈2. 关于XX在线购物平台项目3. 关于XX企业资源规划系统项目4. 团队协作与项目管理5. 个人发展与职业规划 参考资料 面试简历 **个人信…...
微信小程序 ——入门介绍及简单的小程序编写
目录 一、小程序入门 1.1 什么是小程序 1.2 小程序的优点 1.3 小程序注册 1.4 安装开发工具 1.5 创建第一个小程序 二、小程序目录结构及入门案例 2.1 目录结构 2.2 入门案例 2.2.1 创建界面 2.2.2 设置标题 2.2.3 编写WXML文件 2.2.4 编写JS文件 2.2.5 编写WXSS…...
ubuntu20.04安装lio-sam
1、依赖功能包安装 sudo apt install ros-noetic-robot-state-publisher sudo apt-get install ros-noetic-robot-localization libmetis-dev 2、boost版本 boost版本查看:cat /usr/include/boost/version.hpp | grep "BOOST_LIB_VERSION" boost版本为1.…...
Kafka系列之Kafka知识超强总结
一、Kafka简介 Kafka是什么 Kafka是一种高吞吐量的分布式发布订阅消息系统(消息引擎系统),它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览, 搜索和其他用户的行动)是在现代网络上的许多社…...
第32讲:K8S集群与Cephfs文件系统集成
文章目录 1.在K8S环境下RBD与Cephfs的使用对比2.Cephfs环境介绍3.在Ceph集群中为K8S创建单独Cephfs文件系统和认证用户3.1.创建一个K8S使用的Cephfs文件系统3.2.将创建的Cephfs文件系统挂载到本地路径3.3.创建K8S连接Ceph集群使用的认证用户 4.K8S PV存储卷使用Cephfs文件系统4…...
服务器数据恢复—DS5300存储raid5阵列数据恢复案例
服务器存储数据恢复环境: 某单位一台某品牌DS5300存储,1个机头4个扩展柜,50块硬盘组建2组RAID5磁盘阵列(一组raid5阵列有27块成员盘,存放Oracle数据库文件;另外一组raid5阵列有23块成员盘)。存储…...
使用Ubuntu 22.04安装Frappe-Bench【二】
系列文章目录 第一章 使用VMware创建Ubuntu 22.04【一】 文章目录 系列文章目录前言什么是Frappe-Bench?使用安装ERPNext能实现什么效果? 官网给了一个说明 一、使用Ubuntu 22.04安装Frappe-Bench一、安装要求二、安装命令三、 可能出现问题 总结 前言 …...
MySQL增删改查
1.创建数据库: 使用CREATE DATABASE语句 CREATE DATABASE school;show databases; 列出MySQL数据库管理系统的数据库列表 2.切换数据库: 使用USE语句选择要操作的数据库 USE school;select database (); 当前所在库mysql> select…...
Java跳出循环的四种方式
1、continue,break,return continue:跳出当前层循环的当前语句,执行当前层循环的下一条语句。 continue标签 break:跳出当前层循环。 break标签:多层循环时,跳到具体某层循环。 return:结束所有循环…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
