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 ...
随机推荐
- Selenium全屏截图,使用PIL拼接滚动截图
Selenium默认的截图save_screenshot只支持对当前窗口内容进行截图,当如果你想要截取整个网页,那么,可以明确的告诉你. Selenium做不到. 你可以手工使用开发者工具Ctrl+S ...
- 转义字符\'和\"的使用示例
/* 转义字符\'和\"的使用示例 */ #include <stdio.h> int main(void) { printf("关于字符串常量和字符常量.\n&quo ...
- HDU 1074 Doing Homework ——(状态压缩DP)
考虑到n只有15,那么状压DP即可. 题目要求说输出字典序最小的答案的顺序,又考虑到题目给出的字符串本身字典序是递增的,那么枚举i的时候倒着来即可.因为在同样完成的情况下,后选字典序大的,小的字典序就 ...
- 为win10下的linux子系统终端添加powerline
一切按照上一篇完成,如果成功了,你厉害了我的哥,如果不成功,win10安装powerline字体才可以,才可以,才可以 sudo apt install build-essential cmake g ...
- Raspberry Pi 4B Web服务器配置
目录 1. 安装nginx 2. 安装PHP 3. 修改nginx配置文件 4. 安装MariaDB数据库 参考资料1:树莓派4B安装PHP7.3 + Nginx + MySQL 教程 参考资料2:[ ...
- Reconnect due to socket error java.nio.channels.ClosedChannelException
storm整合kafka后出现如下异常: 错误原因:有部分kafka服务器连接不上导致,检查一下是不是每个kafka都能连接到(有的kafka配置使用的是host,记得配置相同的环境) 造成异常代码段 ...
- chrome jssip
WebRTC 实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力 ...
- python将py文件转换为pyc
python -m py_compile lib/ylpy.py python -m py_compile lib/ylpy.py python 一个.py文件如何调用另一个.py文件中的类和函数 A ...
- ArcGIS超级工具SPTOOLS-按属性裁剪,矢量数据批量裁剪,矢量数据批量合库
1.1 按属性裁剪 操作视频: https://weibo.com/tv/v/HwaZRoosq?fid=1034:4376687438183117 按属性裁剪:可以图形表,也可以是非图形表,字段值 ...
- 【matlab】模拟变焦拼接代码备份
1.初版,边缘未处理. % % In----near % If----far % In=imread('D:\文件及下载相关\桌面\模拟变焦拼接\Matlab_code\nearframe\frame ...