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 ...
随机推荐
- 微信小程序之简单记账本开发记录(一)
下载并安装微信开发者工具 在选择开发记账本程序的时候犹豫着选择android studio还是微信小程序 最后选择了微信小程序,因其便利和快捷. 话不多说,第一步,下载并安装微信开发者工具.下面是教程 ...
- java经典算法题50道
原文 JAVA经典算法50题[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序 ...
- 使用sequelize-auto 生成mysql 表的实体时主键没有 autoIncrement: true 属性
使用sequelize-auto 生成mysql 表时主键没有 autoIncrement: true 属性,这会导致插入数据时报错.看git上面是已经解决了的,解决方法是修改查询语句模板.我用的是0 ...
- .net core 修改 Identity/AspNetUsers 数据库
众所周知,.net core有一套完整的用户管理功能.使用它就能实现用户的管理及登录登出功能.现在问题来了,我们有时候需要添加一些字段,该怎么办呢?当然是修改他呀.修改方法参考链接:https://m ...
- spring配置hibernate在使用oracle驱动时报错Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver '
在看到这个错误的时候就感觉有点不对劲了,在错误的结尾和引号之间还有空间,如果敏锐的点应该察觉到可能是空格问题.由于本人的粗心导致这个问题一直困扰了我接近一个上午. 在排查这个问题的时候首先想到的就是关 ...
- linux中怎样会引起进程睡眠呢?
答: 使用信号量,wait队列,completion,调用schedule,用GFP_KERNEL指定的内存分配malloc,get,free,page等都会引起睡眠 思考: Q: 为什么会引起睡眠呢 ...
- linux 查看网络流量命令
转: linux 查看网络流量命令 2019年01月31日 14:22:00 weixin_33894992 阅读数 893 sar命令参数很多,有时间man一下. -n参数很有用,他有6个不同的 ...
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_20-CMS前端页面查询开发-页面原型-页面内容完善
访问swaggerUI的接口 得到返回的json数据,就是我们页面上要显示的数据 复制到页面的数据这里 [ { "siteId": "5a751fab6abb5044e0 ...
- react 组件创建
/** * 数据屏蔽 * Created by 2016-12-02. */ import React, {Component} from 'react'; export default class ...
- 容器时代的持续交付工具---Drone:Drone使用
上一篇文章里已经介绍了如何安装Drone,下面我们来看下如何使用.还是基于gogs作为git仓储. 首先打开server对应的地址,进入登录页面,输入在启动server时配置的管理员账号(对应的就是g ...