C89标准库函数手册(待整理)
http://zh.cppreference.com/w/c
前言
ANSI C(C89)标准库函数共有15个头文件。这15个头文件分别为:
1.<assert.h> 2.<ctype.h> 3.<errno.h>
4.<float.h> 5.<limits.h> 6.<locale.h>
7.<math.h> 8.<setjmp.h> 9.<signal.h>
10.<stdarg.h> 11.<stddef.h> 12.<stdio.h>
13.<stdlib.h> 14.<string.h> 15.<time.h>
这15个头文件共包含了137个库函数。其中ctype.h包含13个函数,math.h包含22个函数,signal.h包含2个函数,stdio.h包含41个函数,stdlib.h包含了28个函数,string.h包含了22个函数,time.h包含了9个函数。
1995年,Normative Addendum 1(NA1)批准了3个头文件(iso646.h, wchar.h和wctype.h)增加到C标准函数库中。C99标准增加了6个头文件(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h和tgmath.h)。C11标准中又新增了5个头文件(stdalign.h,stdatomic.h, stdnoreturn.h, threads.h和uchar.h)。至此,C标准函数库共29个头文件。
本文仅对C89中的标准库函数做解释。
一.ctype.h<字符类测试>
1.intisalnum(int c); 判断是否是字母或数字。
2.intisalpha(int c); 判断是否是字母。
3.intiscntrl(int c); 判断是否是控制字符。
4.intisdigit(int c); 判断是否是数字。
5.intisgraph(int c); 判断是否是可显示字符。
6.intislower(int c); 判断是否是小写字母。
7.intisupper(int c); 判断是否是大写字母。
8.intisprint(int c); 判断是否是可显示字符。
9.intispunct(int c); 判断是否是标点字符。
10.int isspace(intc); 判断是否是空白字符
11.intisxdigit(int c); 判断字符是否为16进制。
12.inttolower(int c); 转换为小写字母。
13.inttoupper(int c); 转换为大写字母。
二.math.h<数学函数>
1.doublesin(double x); 正弦
2.doublecos(double x); 余弦
3.doubletan(double x); 正切
4.doubleasin(double x);结果介于[-PI/2,PI/2]
5.doubleacos(double x); 结果介于[0, PI]
6doubleatan(double x);
7.doubleatan2(double y,double);
8.doublesinh(double x); 计算双曲正弦
9.doublecosh(double x); 计算双曲余弦
10.doubletanh(double x); 计算双曲正切
11.doubleexp(double x); 求取自然数e的幂
12.doublesqrt(double x); 开平方
13.doublelog(double x); 以e为底的对数
14.doublelog10(double x); 以10为底的对数
15.doublepow(double x, double y);
16.floatpowf(float x, float y);
17.doubleceil(double); 取上整
18.doublefloor(double); 取下整
19.doublefrexp(double f, int *p);
20.doubleldexp(double x, int p);
21.doublemodf(double, double*);
22.doublefmod(double, double);
三.signal.h<信号处理>
1.signal();
2.raise();
四.stdio.h<标准输入输出>
1.clearerr(); 复位错误标志
2.fclose(); 关闭一个流。
3.feof(); 检测文件结束符
4.ferror(); 检查流是否有错误
5.fflush();更新缓冲区
6.fgetpos(); 移动文件流的读写位置
7.fopen();打开文件
8.fread(); 从文件流读取数据
9.freopen(); 打开文件
10.fseek(); 移动文件流的读写位置
11.fsetpos();定位流上的文件指针
12.ftell(); 取得文件流的读取位置
13.fwrite(); 将数据写至文件流
14.remove(); 删除文件
15.rename(); 更改文件名称或位置
16.rewind(); 重设读取目录的位置为开头位置
17.setbuf(); 把缓冲区与流相联
18.setvbuf(); 把缓冲区与流相关
19.tmpfile(); 以wb+形式创建一个临时二进制文件
20.tmpnam(); 产生一个唯一的文件名
21.fprintf(); 格式化输出数据至文件
22.fscanf(); 格式化字符串输入
23.printf(); 格式化输出数据
24.scanf(); 格式输入函数
25.sprintf(); 格式化字符串复制
26.sscanf(); 格式化字符串输入
27.vfprintf(); 格式化输出数据至文件
28.vprintf(); 格式化输出数据
29.vsprintf(); 格式化字符串复制
30.fgetc(); 由文件中读取一个字符
31.fgets(); 文件中读取一字符串
32.fputc(); 将一指定字符写入文件流中
33.fputs(); 将一指定的字符串写入文件内
34.getc(); 由文件中读取一个字符
35.getchar(); 由标准输入设备内读进一字符
36.gets(); 由标准输入设备内读进一字符串
37.putc(); 将一指定字符写入文件中
38.putchar(); 将指定的字符写到标准输出设备
39.puts(); 送一字符串到流stdout中
40.ungetc(); 将指定字符写回文件流中
41.perror(); 打印出错误原因信息字符串
五.stdlib.h<实用函数>
字符串函数
1.atof(); 将字符串转换成浮点型数
2.atoi(); 将字符串转换成整型数
3.atol(); 将字符串转换成长整型数
4.strtod(); 将字符串转换成浮点数
5.strtol(); 将字符串转换成长整型数
6.strtoul(); 将字符串转换成无符号长整型数
内存控制函数
7.calloc(); 配置内存空间
8.free(); 释放原先配置的内存
9.malloc(); 配置内存空间
10.realloc(); 重新分配主存
环境函数
11.abort(); 异常终止一个进程
12.atexit();设置程序正常结束前调用的函数
13.exit(); 正常结束进程
14.getenv(); 取得环境变量内容
15.system(); 执行shell 命令
搜索和排序函数
16.bsearch(); 二元搜索
17.qsort(); 利用快速排序法排列数组
数学函数
18.abs(); 计算整型数的绝对值
19.div(); 将两个整数相除, 返回商和余数
20.labs(); 取长整型绝对值
21.ldiv();两个长整型数相除, 返回商和余数
22.rand(); 随机数发生器
23.srand(); 设置随机数种子
多字节函数
24.mblen(); 根据locale的设置确定字符的字节数
25.mbstowcs(); 把多字节字符串转换为宽字符串
26.mbtowc(); 把多字节字符转换为宽字符
27.wcstombs(); 把宽字符串转换为多字节字符串
28.wctomb(); 把宽字符转换为多字节字符
六.string.h<字符串处理函数>
1.memchr();在某一内存范围中查找一特定字符
2.memcmp(); 比较内存内容
3.memcpy(); 拷贝内存内容
4.memmove(); 拷贝内存内容
5.memset(); 将一段内存空间填入某值
6.strcat(); 连接两字符串
7.strncat(); 连接两字符串
8.strchr(); 查找字符串中第一个出现的指定字符
9.strcmp(); 比较字符串
10.strncmp();比较2个字符串的前N个字符
11.strcoll(); 采用目前区域的字符排列比较字符串
12.strcpy(); 拷贝字符串
13.strncpy(); 拷贝字符串
14.strcspn(); 返回字符连续不含指定字符的字符数
15.strerror(); 返回错误原因的描述字符串
16.strlen(); 计算字符串长度
17.strpbrk(); 查找字符串中第一个出现的指定字符
18.strrchr(); 查找字符串中最后出现的指定字符
19.strspn();返回字符串连续不含指定字符的字符数
20.strstr(); 在一字符串中查找指定的字符串
21.strtok(); 分割字符串
22.strxfrm(); 转换字符串
七.time.h<日期与时间>
1.asctime(); 将时间和日期以字符串格式表示
2.clock(); 确定处理器时间
3.ctime(); 把日期和时间转换为字符串
4.difftime(); 计算两个时刻之间的时间差
5.gmtime(); 把日期和时间转换为(GMT)时间
6.localtime();取得当地目前时间和日期
7.mktime();将时间结构数据转换成经过的秒数
8.strftime(); 将时间格式化
9.time(); 取得目前的时间
C89标准库函数手册(待整理)的更多相关文章
- C89标准库函数手册
http://zh.cppreference.com/w/c 前言 ANSI C(C89)标准库函数共有15个头文件.这15个头文件分别为: 1.<assert.h> ...
- C 标准库函数手册摘要
<stdlib.h> int abs( int value ); long int labs( long int value ); 返回参数的绝对值 int rand( void ); v ...
- 2.C++标准库函数:getline函数 定界流输入截取函数 -windows编程
引言:今天工作遇到了一个需要按行读取txt文件数据的需求,查询了一下getline()函数,发现这竟然是一个C++的标准库函数,而且设计的很好,特地做一下记录.getline本质是一个定界流输入截取函 ...
- 标准库函数atoi的实现
标准库函数atoi用于将字符串类型的数据转换为整形数据:在转换过程中要考虑空指针.空字符串"".正负号,溢出等情况 这里是将字符串str转换为32位整型,其正数的最值为0x7FFF ...
- C语言提供了几个标准库函数 itoa() atoi()
C语言提供了几个标准库函数C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <s ...
- 范围for语句 && 列表初始值&& 标准库函数begin和end
范围for语句: 引入的意义:简化传统for的编写,主要用于遍历给定序列中的每个元素并对序列中的每个值执行某种操作,其语法形式是: for( 声明: 给定序列) { 执行的操作. } 其中,“给定序列 ...
- UC编程:通过fwrite()和write()比较标准库函数和系统调用的速度
fwrte是C标准库中提供的函数,是对write函数的扩展与封装,write则是Unix系统提供的函数.按照常理来讲,系统调用肯定比使用库快的多,但是事实正好相反 Why?原因就在于缓冲的问题,fwi ...
- C/C++语言的标准库函数malloc/free与运算符new/delete的区别
概括地说 1.malloc与free是C++/C的标准库函数,new/delete是C++的运算符,它们都可用于申请动态内存和释放内存. 2.对于非内部数据类型的对象而言,只用malloc/free无 ...
- c++11 标准库函数 std::move 和 完美转发 std::forward
c++11 标准库函数 std::move 和 完美转发 std::forward #define _CRT_SECURE_NO_WARNINGS #include <iostream> ...
随机推荐
- fork子进程之间传输信息的方法(包含子进程与子进程之间区分的问题的解决)
今天看到一道题,要求是父进程fork出两个子进程,子进程1需要给子进程2发送一个数据,然后子进程2再将这个数据发送给父进程 具体思想如下. 父进程fork出来的子进程的pid,只有父进程保存下来了, ...
- x3270: PCOM的替代品
在Linux上登录Mainframe的利器,而且也是PCOM的免费版.原来没有仔细研究,今天花了一些时间学习,确实能满足基本的要求: x3270的Homepage 看一下Release Note, ...
- 解决ultravnc在win2008 R2下CTRL+ALT+DELETEA组合键发送失败的问题
首先,请google “ultravnc ctrl+alt+delete”,得到的解决方法是,更改UAC.进入组策略-计算机配置-管理模板-windows登陆选项,“禁用或启用软件注意序列”,更改成“ ...
- 【海岛帝国系列赛】No.1 海岛帝国:诞辰之日
50111117海岛帝国:诞辰之日 [试题描述] YSF自从上次“被盗投降”完(带着一大堆债)回去以后,YSF对“海盗”怀念至今,他想要建立一个“药师傅”海岛帝国. 今天,他要像“管理部”那样去探寻 ...
- iBatis面试题
1) Ibatis中使用like ‘%#filedName#%’ 时,有什么问题? 在xml映射文件中,如果直接按如上写法,会报异常:java.sql.SQLException: Invalid ar ...
- android——单点触控移动,多点触控放大缩小
xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ...
- COM编程之一 组件
[1]组件产生的背景 一个应用程序通常是由单个二进制文件组成的. 当应用程序版本发布后一般不会发生任何变化,对于操作系统.硬件以及客户需求的改变都必须要等到修复源代码后且整个应用程序被重新编译才可处理 ...
- VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装在阿里云开源镜像地址下载镜像Index of /centos/7.2.1511/isos/x86_64/http://mirro ...
- iOS录音加播放.
现在发现的事实有: 如果没有蓝牙设备, 那么可以用下面的方法边录音, 边放音乐: 在录音按钮按下的时候: _avSession = [AVAudioSession sharedInstance]; ...
- Delphi内嵌汇编语言BASM精要(转帖)
1 BASM概念简要 汇编语句由指令和零至三个表达式构成.表达式由常数(立即数).寄存器和标识符构成.例如: movsb // 单指令语句 jmp @Here // 一个表达式: ...