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 ...
随机推荐
- Python语法 - yield表达式(类似 m = yield i )
yield是个表达式而不仅仅是个语句,所以可以使用x = yield r 这样的语法, yield表达式可以接收send()发出的参数,yield表达式是跟send方法一起配合使用 send方 ...
- Angular4.x+Ionic3 踩坑之路之打包时出现JAVASCRIPT HEAP OUT OF MEMORY的几种解决办法
最近开发的一个比较大型的App时打生产环境包是出现内存不足导致打包失败的问题.然后百度发现解决方法都是一样,自己试了一下都没什么暖用,心里只想用呵呵来形容了.最后经朋友介绍,技术问题还得去谷歌,git ...
- Truffle测试框架
Truffle测试框架 2018年06月08日 19:01:19 tianlongtc 阅读数 1000 Truffle 有一个标准的自动化测试框架,让你可以非常方便地测试您的合约.这个框架允许您 ...
- win系统动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)
动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数. 方法是:用 LoadLibrary 函数加载动态链接库到内存,用 Ge ...
- [Oracle]索引对insert和delete操作的影响
主键也是索引的一种,在索引中,不仅存储了索引列上的数据,而且还存储了一个ROWID的值.ROWID是表中一个伪列,是数据库服务自动添加的,表中的每一行数据都有一个ROWID值,它代表这一行的标识,即一 ...
- Xgboost 两种使用方式
原生形式使用Xgboost(import xgboost as xgb) from sklearn import datasets from sklearn.model_selection impor ...
- Android——coredump解析
撰写不易,转载需注明出处:http://blog.csdn.net/jscese/article/details/46916869本文来自 [jscese]的博客! coredump文件生成前文And ...
- UML期末复习题——2.7:UML Sequence Diagram
第七题:顺序图 重要概念: 1. 顺序图的主要介绍,在之前对第5题“系统顺序图”的解析讲解里已经很详细了,在这里只是对部分不全面的内容进行补充. 第五题:系统顺序图&后置条件 http://w ...
- SQL-W3School-高级:SQL ALTER TABLE 语句
ylbtech-SQL-W3School-高级:SQL ALTER TABLE 语句 1.返回顶部 1. ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. ...
- VLC播放器web插件接口(Part2)
本文转自:http://www.educity.cn/wenda/124878.htmlVLC Activex控件(VideoLAN.VLCPlugin.1 VideoLAN.VLCPlugin.2) ...