C标准库常用函数概要
stdio.h
printf()/fprintf()
printf的返回值是打印的字符数, 发生错误则返回负数
scanf()/fscanf()
scanf的返回值是成功赋值的变量个数, 失败则返回EOF
getc()/putc()
读取/写入字符
fgets()/fputs()
fgets()不同于gets(), fgets()会尽可能保证读取的字符串末尾有换行符. 同样, fputs()写入是不会自动添加换行符, 这二者可以很好地配合.需要注意的是, fgets()可以防止存储溢出, 因此, 相较于gets(), fgets()是一个更好的选择
fseek()/ftell()
fseek()用于移动文件位置, ftell()用于确定文件位置
fgetpos()/fsetpos()
相较于上两个使用long类型来表示文件位置函数, 这两个函数使用fpos_t类型, 能处理更大的文件
ungetc()
将一个指定字符放回到stdin中, 这样下一次调用标准输入函数是就会读入那个字符.
fflush()
用于刷新缓冲区(flushing a buffer), 使用fflush(stdout)可以获取实时的输出
feof()/ferror()
feof()用于判断文件是否到达结尾, ferror()用于判断流中是否发生错误
freopen()
用于stdin的重定向, 将stdin重新打开为某个文件, 对于调试来说很方便
fread()/fwrite()
读取/写入一定长度二进制文件内容并放在指定的内存地址中/文件中, 一般不用于操作ascii文件. 返回值是成功读取/写入对象的数量
math.h
| 函数名称 | 用途 |
|---|---|
| abs() | 求绝对值 |
| fabs() | 浮点数绝对值 |
| acos() | 反余弦 |
| asin() | 反正弦 |
| atan() | 反正切 |
| cos() | 余弦 |
| sin() | 正弦 |
| tan() | 正切 |
| ceil() | 上界 |
| floor() | 下界 |
| log() | 自然对数 |
| pow() | 幂 |
| sqrt() | 平方根 |
| exp() | e的幂 |
string.h
memset()
填充指定的内存块. 常用于快速清零数组或结构体.
memcpy()
拷贝指定的内存块. 如果源内存和目标内存存在重叠, 会出错.
memmove()
功能与memcpy相同, 但允许源内存与目标内存存在重叠.
memcmp()
比较指定的两个内存块
atoi()
字符串转整数
strpbrk()
在字符串s2中搜索字符串s1
stdlib.h
qsort()
快速排序. 原型为
void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
base是数组首地址, num是待排序元素数量, width是一个元素占用空间大小,compare是函数指针, 例如, 对整数升序排序, compare可以这么写:
int comp(const void *a, const void *b)
{
return *(int*)a - *(int*)b;
}
bsearch()
二分法搜索, 原型为:
void *bsearch(const void *key, const void *base, size_t nelem, size_t width, int(*fcmp)(const void *, const void *));
key为待查找关键字指针, buf为待查找数组
bsearch()常与qsort()一起使用
system()
调用系统指令
C标准库常用函数概要的更多相关文章
- Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结
Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结 1.1. 常见的编程语言以及数据库 sql内部函数库标准化库一般有以下api1 1.2. 各个 ...
- Python math库常用函数
math库常用函数及举例: 注意:使用math库前,用import导入该库>>> import math 取大于等于x的最小的整数值,如果x是一个整数,则返回x>>> ...
- c/c++ 标准库 bind 函数 详解
标准库 bind 函数 详解 bind函数:接收一个函数名作为参数,生成一个新的函数. auto newCallable = bind(callbale, arg_list); arg_list中的参 ...
- Matplotlib库常用函数大全
Python之Matplotlib库常用函数大全(含注释) plt.savefig(‘test’, dpi = 600) :将绘制的图画保存成png格式,命名为 test plt.ylabel(‘Gr ...
- Python之Numpy库常用函数大全(含注释)
前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...
- Python之Numpy库常用函数大全(含注释)(转)
为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...
- c++多线程编程:实现标准库accumulate函数的并行计算版本
今天使用c++实现了标准库头文件<numeric>中的accumulate函数的并行计算版本,代码如下,注释写的比较详细,仅对其中几点进行描述: ①该实现假定不发生任何异常,故没有对可能产 ...
- SymPy库常用函数
简介 SymPy是一个符号计算的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简 洁.易于理解和扩展.它完全由Python写成,不依赖于外部库.SymPy支持符号计算.高精度计 ...
- 【转】 C++库常用函数一览
本文中提到的函数库有:<string> <cctype> <algorithm> <cmath> <cstdlib> <iomanip ...
随机推荐
- Echarts案例-柱状图
一:先在官网下载 https://www.echartsjs.com/zh/download.html 然后再建立工程,导入这两个包: 写代码: <!DOCTYPE html> <h ...
- Java并发指南8:AQS中的公平锁与非公平锁,Condtion
一行一行源码分析清楚 AbstractQueuedSynchronizer (二) 转自https://www.javadoop.com/post/AbstractQueuedSynchronizer ...
- 安装Mysql-5.7.13脚本
安装Mysql-5.7.13,此脚本最后会查找到临时密码,后面登进数据库中更改密码 [root@ZHONG-LONG javascripts]# vim -mysql.sh #!/bin/bash # ...
- 【Java/JDBC】利用ResultSetMetaData从数据库的某表中获取字段信息并存到csv文件
代码下载:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-2.rar 这篇还不够完善,请看更完善的续篇 ...
- SQL-W3School-高级:SQL CREATE TABLE 语句
ylbtech-SQL-W3School-高级:SQL CREATE TABLE 语句 1.返回顶部 1. CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL ...
- SQL-W3School-高级:SQL JOIN
ylbtech-SQL-W3School-高级:SQL JOIN 1.返回顶部 1. SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完 ...
- Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in 解决方案:$sql = ...
- ubuntu tensorflow cpu faster-rcnn train data
(flappbird) luo@luo-All-Series:~/MyFile/tf-faster-rcnn_box$ (flappbird) luo@luo-All-Series:~/MyFile/ ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_15-页面静态化-模板管理-模板管理业务流程
在视频教学的过程中,不会去做模板管理的模块 cms_template用来存储模板信息 cms_page 这一些课程页面用的是一个模板 模板的详情.templateFileId是模板的文件id 模板的文 ...
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_18-异常处理-不可预知异常处理
框架抛出来的或者一些第三方的组件抛出来的异常.我们根本不知道它所对应的错误代码的信息,所以我们也没有办法给用户返回具体的错误代码和错误信息. 我们先在Map中定义有一些不可预知的异常,定义错误代码和错 ...