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:结束所有循环…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
