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标准库函数手册的更多相关文章

  1. C89标准库函数手册(待整理)

    http://zh.cppreference.com/w/c 前言 ANSI C(C89)标准库函数共有15个头文件.这15个头文件分别为: 1.<assert.h>            ...

  2. C 标准库函数手册摘要

    <stdlib.h> int abs( int value ); long int labs( long int value ); 返回参数的绝对值 int rand( void ); v ...

  3. 标准库函数atoi的实现

    标准库函数atoi用于将字符串类型的数据转换为整形数据:在转换过程中要考虑空指针.空字符串"".正负号,溢出等情况 这里是将字符串str转换为32位整型,其正数的最值为0x7FFF ...

  4. C语言提供了几个标准库函数 itoa() atoi()

    C语言提供了几个标准库函数C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <s ...

  5. 范围for语句 && 列表初始值&& 标准库函数begin和end

    范围for语句: 引入的意义:简化传统for的编写,主要用于遍历给定序列中的每个元素并对序列中的每个值执行某种操作,其语法形式是: for( 声明: 给定序列) { 执行的操作. } 其中,“给定序列 ...

  6. UC编程:通过fwrite()和write()比较标准库函数和系统调用的速度

    fwrte是C标准库中提供的函数,是对write函数的扩展与封装,write则是Unix系统提供的函数.按照常理来讲,系统调用肯定比使用库快的多,但是事实正好相反 Why?原因就在于缓冲的问题,fwi ...

  7. C/C++语言的标准库函数malloc/free与运算符new/delete的区别

    概括地说 1.malloc与free是C++/C的标准库函数,new/delete是C++的运算符,它们都可用于申请动态内存和释放内存. 2.对于非内部数据类型的对象而言,只用malloc/free无 ...

  8. c++11 标准库函数 std::move 和 完美转发 std::forward

    c++11 标准库函数 std::move 和 完美转发 std::forward #define _CRT_SECURE_NO_WARNINGS #include <iostream> ...

  9. C++/C语言的标准库函数与运算符的区别new/delete malloc/free

    malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存.下面来看他们的区别. 一.操作对象有所不同 malloc与free是C++ ...

随机推荐

  1. linux 获取外网ip地址

    curl ifconfig.me 私有ip地址,获取公网ip

  2. java文件配置MySQL

    MybatisConfig.java文件 import com.alibaba.druid.pool.DruidDataSource; import com.xman.common.mybatis.S ...

  3. hibernate4注解字段为mysql的text

    文章的正文detail就需要设置为text 在getter方法上添加注解 @Lob @Basic(fetch = FetchType.LAZY) @Type(type = "text&quo ...

  4. java求1000以内的水仙花数

    水仙花数是指一个 n 位数 ( n>=3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 三位的水仙花数共有4个,分别为:153.370. ...

  5. Python爬虫工程师必学——App数据抓取实战

    Python爬虫工程师必学 App数据抓取实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...

  6. 二、深入asyncio协程(任务对象,协程调用原理,协程并发)

      由于才开始写博客,之前都是写笔记自己看,所以可能会存在表述不清,过于啰嗦等各种各样的问题,有什么疑问或者批评欢迎在评论区留言. 如果你初次接触协程,请先阅读上一篇文章初识asyncio协程对asy ...

  7. Twitter Storm中Topology的状态

    Twitter Storm中Topology的状态 状态转换如下,Topology 的持久化状态包括: active, inactive, killed, rebalancing 四个状态. 代码上看 ...

  8. 【html、CSS、javascript-9】jquery-选择器及过滤器

    一.选择器与过滤器 选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元素 ...

  9. 【solr】Solr5.5.4单机部署

    Solr5.5.4单机部署 Solr5和Solr4有很大区别,最为明显的就是Solr5已经可以独立部署,从Solr5开始,Solr已经不再以war包形式部署,Solr已经成为了一个独立的java服务端 ...

  10. 弹性盒布局(flex)

    一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. .box ...