C标准库函数集(头文件索引)

合集下载

c语言的头文件大全

c语言的头文件大全
可移植性:在软件要求不断变化的情况下,标准库函数在任何计算机上,对任何编译程序都具有同样的功能,并且表达同样的含义,因此它们是C程序员屈指可数的几种依靠之一。
有趣的是,你很难找到一项关于标准库函数的最标准的信息。对于每一个函数,都需要有一个(在极少数情况下需要两个)保证能将该函数的原型提供给你的头文件(在调用任何一个函数时,都应该包含其原型,见8.2)。有趣的是什么呢?这个头文件可能并不是真正包含该函数原型的文件,在有些(非常糟糕!)情况下,甚至由编译程序手册推荐的头文件都不一定正确。对于宏定义,typedef和全局变量,同样会发生这种情况。
fclose stdio. h
feof stdio.h
ferror stdio.h
fflush stdio. h
fgetc stdio.h
c标准库中还缺少很多函数,例如投有图形函数,甚至没有全屏幕文本操作函数,signal机制也相当弱(见12.10),并且根本没有对多任务或使用常规内存以外的内存提供支持。尽管C标准库存在上述缺陷,但它毕竟为所有的程序都提供了一套基本功能,不管这些程序是运行在多任务、多窗口的环境下,还是运行在简单的终端上,或者是运行在一台昂贵的烤面包机上。
fgetpos stdio. h
fgets
stdio.h
FILE stdio. h
FILENAME-MAX stdio. h
floor math. h
fmod math. h
fopen stdio. h
FOPEN_MAX stdio. h
fpos_t stdio. h
cos math. h
cosh math. h
ctime time. h

C语言这些常用的标准库(头文件),你不得不知道...

C语言这些常用的标准库(头文件),你不得不知道...

C语⾔这些常⽤的标准库(头⽂件),你不得不知道...有很多⼯程师喜欢⾃⼰封装⼀些标准库已有的函数,其实⾃⼰封装的函数,并不⼀定⽐标准库好,有时候反⽽代码更冗余,且有bug。

下⾯⼩编就来分享⼀下C语⾔常见的⼀些标准库。

标准头⽂件包括:<asset.h><ctype.h><errno.h><float.h><limits.h><locale.h><math.h><stdio.h><signal.h><time.h><stddef.h><stdlib.h><string.h><stdarg.h><setjmp.h>⼀、标准定义(<stddef.h>)⽂件<stddef.h>⾥包含了标准库的⼀些常⽤定义,⽆论我们包含哪个标准头⽂件,<stddef.h>都会被⾃动包含进来。

这个⽂件⾥定义:●类型size_t(sizeof运算符的结果类型,是某个⽆符号整型);●类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);●类型wchar_t(宽字符类型,是⼀个整型,其中⾜以存放本系统所⽀持的所有本地环境中的字符集的所有编码值。

这⾥还保证空字符的编码值为0);●符号常量NULL(空指针值);●宏offsetot (这是⼀个带参数的宏,第⼀个参数应是⼀个结构类型,第⼆个参数应是结构成员名。

offsetot(s,m)求出成员m在结构类型t的变量⾥的偏移量)。

注:其中有些定义也出现在其他头⽂件⾥(如NULL)。

⼆、错误信息(<errno.h>)<errno.h>定义了⼀个int类型的表达式errno,可以看作⼀个变量,其初始值为0,⼀些标准库函数执⾏中出错时将它设为⾮0值,但任何标准库函数都设置它为0。

c语言中常用的函数和头文件

c语言中常用的函数和头文件

头文件ctype.h函数列表<>函数类别函数用途详细说明字符测试是否字母和数字isalnum是否字母isalpha是否控制字符iscntrl是否数字isdigit是否可显示字符(除空格外)isgraph是否可显示字符(包括空格)isprint是否既不是空格,又不是字母和数字的可显示字符ispunct是否空格isspace是否大写字母isupper是否16进制数字(0-9,A-F)字符isxdigit字符大小写转换函数转换为大写字母toupper转换为小写字母tolower地区化本类别的函数用于处理不同国家的语言差异。

头文件local.h函数列表函数类别函数用途详细说明地区控制地区设置setlocale数字格式约定查询国家的货币、日期、时间等的格式转换localeconv数学函数本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51)头文件math.h函数列表函数类别函数用途详细说明错误条件处理定义域错误(函数的输入参数值不在规定的范围内)值域错误(函数的返回值不在规定的范围内)三角函数反余弦acos反正弦asin反正切atan反正切2 atan2余弦cos正弦sin正切tan双曲函数双曲余弦cosh双曲正弦sinh双曲正切tanh指数和对数指数函数exp指数分解函数frexp乘积指数函数fdexp自然对数log以10为底的对数log10浮点数分解函数modf幂函数幂函数pow平方根函数sqrt整数截断,绝对值和求余数函数求下限接近整数ceil绝对值fabs求上限接近整数floor求余数fmod本分类函数用于实现在不同底函数之间直接跳转代码。

头文件setjmp.h io.h函数列表函数类别函数用途详细说明保存调用环境setjmp恢复调用环境longjmp信号处理该分类函数用于处理那些在程序执行过程中发生例外的情况。

C语言头文件大全

C语言头文件大全

标准C语言头文件ISO C标准定义的头文件24项<assert.h> 验证程序断言<complex.h> 支持复数算术运算<ctype.h> 字符类型<errno.h> 出错码<fenv.h> 浮点环境<float.h> 浮点常量<inttypes.h> 整型格式转换<iso646.h> 替代关系操作符宏<limits.h> 实现常量<locale.h> 局部类别<math.h> 数学常量<setjmp.h> 非局部goto<signal.h> 信号<stdarg.h> 可变参数表<stdbool.h> 布尔类型和值<stddef.h> 标准定义<stdint.h> 整型<stdio.h> 标准I/O 库<stdlib.h> 实用程序库函数<string.h> 字符串操作<tgmath.h> 通用类型数学宏<time.h> 时间和日期<wchar.h> 宽字符支持<wctype.h> 宽字符分类和映射支持POSIX标准定义的必须的头文件26项<dirent.h> 目录项<fcntl.h> 文件控制<fnmatch.h> 文件名匹配类型<glob.h> 路径名模式匹配类型<grp.h> 组文件<netdb.h> 网络数据库操作<pwd.h> 口令文件<regex.h> 正则表达式<tar.h> tar归档值<termios.h> 终端I/O <unistd.h> 符号常量<utime.h> 文件时间<wordexp.h> 字扩展类型<arpa/inet.h> Internet定义<net/if.h> 套接字本地接口<netinet/in.h> Internet地址族 <netinet/tcp.h> 传输控制协议<sys/mman.h> 内存管理声明<sys/select.h> select函数<sys/socket.h> 套接字接口<sys/stat.h> 文件状态<sys/times.h> 进程时间<sys/types.h> 基本系统数据类型<sys/un.h> UNIX 域套接字定义<sys/utsname.h>系统名<sys/wait.h> 进程控制POSIX标准定义的XSI扩展头文件26项<cpio.h> cpio归档值<dlfcn.h> 动态链接<fmtmsg.h> 消息显示结构<ftw.h> 文件树漫游<iconv.h> 代码集转换实用程序<langinfo.h> 语言信息常量<libgen.h> 模式匹配函数定义<monetary.h> 货币类型<ndbm.h> 数据库操作<nl_types.h> 消息类别<poll.h> 轮询函数<search.h> 搜索表<strings.h> 字符串操作<syslog.h> 系统出错日志记录<ucontext.h> 用户上下文<ulimit.h> 用户限制<utmpx.h> 用户帐户数据库<sys/ipc.h> IPC <sys/msg.h> 消息队列<sys/resource.h> 资源操作<sys/sem.h> 信号量<sys/shm.h> 共享存储<sys/statvfs.h> 文件系统信息<sys/time.h> 时间类型<sys/timeb.h> 附加的时间<sys/uio.h> 矢量I/O操作POSIX标准定义的可选头文件8项<aio.h> 异步I/O <mqueue.h> 消息队列<pthread.h> 线程<sched.h> 执行调度<semaphore.h> 信号量<spawn.h> 实时spawn接口<stropts.h> XSI STREAMS接口<trace.h> 时间跟踪标准 C++ 语言头文件54个其中16个用于构建STL;3个为附加非必须<algorithm> STL通用算法<bitset> STL位集容器<cassert> 用于在程序运行时执行断言<cctype> 字符处理<cerrno> 错误码<cfloat> 用于测试浮点类型属性<ciso646> ISO646变体字符集<climits> 测试整数类型属性<clocale> 本地化函数<cmath> 数学函数<complex> 复数类<csetjmp> 执行非内部的goto语句<csignal> 信号<cstdarg> 访问参数数量变化的函数<cstddef> 用于定义实用的类型和宏<cstdio> 输入/输出<cstdlib> 杂项函数及内存分配<cstring> 字符串<ctime> 时间<cwchar> 宽字符处理及输入/输出<cwctype> 宽字符分类<deque> STL双端队列容器<exception> 异常处理类<fstream> 文件流<functional> STL函数对象<iomanip> 参数化输入/输出<ios> 基本输入/输出支持<iosfwd> 输入/输出前置声明<iostream> 数据流输入/输出<istream> 基本输入流<iterator> 遍历序列的类<limits> 各种数据类型最值常量<list> STL 线性列表容器<locale> 国际化支持<map> STL映射容器<memory> 专用内存分配器<new> 基本内存分配和释放<numeric> 通用的数字操作<ostream> 基本输出流<queue> STL 队列容器<set> STL 集合容器<sstream> 基于字符串的流<stack> STL 堆栈容器<stdexcept> 标准异常类<streambuf> iostream 的缓冲区类<string> 字符串类<strstream> 非内存字符序列的流类<typeinfo>运行时类型标识<utility> STL 通用模板类<valarray> 支持值数组的类和模版类<vector> STL 动态数组容器标准C++附加的头文件3个非必须<hash_map> <hash_set> <slist>The Standard C++ library consists of 51 required headers.This implementation also includes three additional headers;<hash_map>;<hash_set>;and <slist>;not required by the C++ Standard; for a total of 54 headers.Of these 54 headers;16 constitute the Standard Template Library; or STL.These are indicated below with the notation<algorithm> -- STL for defining numerous templates that implement useful algorithms<bitset> -- for defining a template class that administers sets of bits<complex> -- for defining a template class that supports complex arithmetic <deque> -- STL for defining a template class that implements a deque container<exception> -- for defining several functions that control exception handling <fstream> -- for defining several iostreams template classes that manipulate exteral files<functional> -- STL for defining several templates that help construct predicates forthe templates defined in <algorithm> and <numeric> <hash_map>-- STL for defining template classes that implement hashed associative containersthat map keys to values<hash_set>-- STL for defining template classes that implement hashed associative containers<iomanip> -- for declaring several iostreams manipulators that take an argument<ios> -- for defining the template class that serves as the base for many iostreams classes<iosfwd> -- for declaring several iostreams template classes before they are necessarilydefined<iostream> -- for declaring the iostreams objects that manipulate the standard streams<istream> -- for defining the template class that performs extractions <iterator>-- STL for defining several templates that help define and manipulate iterators<limits> -- for testing numeric type properties<list>-- STL for defining a template class that implements a doubly linked list container<locale> -- for defining several classes and templates that controllocale-specific behavior; as in the iostreams classes<map>-- STL for defining template classes that implement associative containers thatmap keys to values<memory>-- STL for defining several templates that allocate and free storage for variouscontainer classes<new> -- for declaring several functions that allocate and free storage <numeric>-- STL for defining several templates that implement useful numeric functions<ostream> -- for defining the template class that performs insertions <queue> -- STL for defining a template class that implements a queue container<set>-- STL for defining template classes that implement associative containers<slist>-- STL for defining a template class that implements a singly linked list container<sstream> -- for defining several iostreams template classes that manipulate string containers<stack> -- STL for defining a template class that implements a stack container<stdexcept> -- for defining several classes useful for reporting exceptions <streambuf> -- for defining template classes that buffer iostreams operations <string> -- for defining a template class that implements a string container <strstream> -- for defining several iostreams classes that manipulatein-memory charactersequences<typeinfo> -- for defining class type_info; the result of the typeid operator <utility>-- STL for defining several templates of general utility<valarray> -- for defining several classes and template classes that support value-orientedarrays<vector>-- STL for defining a template class that implements a vector container新的C标准库<cassert> -- for enforcing assertions when functions execute<cctype> -- for classifying characters<cerrno> -- for testing error codes reported by library functions<cfloat> -- for testing floating-point type properties<ciso646> -- for programming in ISO 646 variant character sets<climits> -- for testing integer type properties<clocale> -- for adapting to different cultural conventions<cmath> -- for computing common mathematical functions<csetjmp> -- for executing nonlocal goto statements<csignal> -- for controlling various exceptional conditions<cstdarg> -- for accessing a varying number of arguments<cstddef> -- for defining several useful types and macros<cstdio> -- for performing input and output<cstdlib> -- for performing a variety of operations<cstring> -- for manipulating several kinds of strings<ctime> -- for converting between various time and date formats<cwchar> -- for manipulating wide streams and several kinds of strings <cwctype> -- for classifying wide characters旧的C标准库<assert.h> -- for enforcing assertions when functions execute<ctype.h> -- for classifying characters<errno.h> -- for testing error codes reported by library functions<float.h> -- for testing floating-point type properties<iso646.h> -- for programming in ISO 646 variant character sets<limits.h> -- for testing integer type properties<locale.h> -- for adapting to different cultural conventions<math.h> -- for computing common mathematical functions<setjmp.h> -- for executing nonlocal goto statements<signal.h> -- for controlling various exceptional conditions<stdarg.h> -- for accessing a varying number of arguments<stddef.h> -- for defining several useful types and macros<stdio.h> -- for performing input and output<stdlib.h> -- for performing a variety of operations<string.h> -- for manipulating several kinds of strings<time.h> -- for converting between various time and date formats<wchar.h> -- for manipulating wide streams and several kinds of strings<wctype.h> -- for classifying wide charactersFinally; in this implementation; the Standard C++ library also includes several headers for compatibility with traditional C++ libraries:<fstream.h> -- for defining several iostreams template classes that manipulate exteral files<iomanip.h> -- for declaring several iostreams manipulators that take an argument<iostream.h> -- for declaring the iostreams objects that manipulate the standard streams<new.h> -- for declaring several functions that allocate and free storage <stl.h> -- for declaring several template classes that aid migration from older versionsof the Standard Template Library。

C标准库函数的头文件

C标准库函数的头文件

标准库函数地头文件---------------------------------------------------------------------- 函数头文件----------------------------------------------------------------------abort stdlib.habs stdlib.h acos math.h asctime time.hasin math.h assert assert.hatan math.h atan2 math.h atexit stdlib.hatof stdlib.hatoi stdlib.hatol stdlib.h bsearch stdlib.h BUFSIZ stdio.h calloc stdlib.hceil math.h clearerr stdio.hclock time.h CLOCKS-PER-SEC time.hclock_t time.hcos math.h cosh math.h ctime time.h difftime time.hdiv stdlib.hdiv_t stdlib.h EDOM errno.h EOF stdio.h ERANGE errno.h errno errno.hexit stdlib.h EXIT_FAILURE stdlib.h EXIT_SUCCESS stdlib.hexp math.h fabs math.h fclose stdio.hfeof stdio.h ferror stdio.hfgetc stdio.h fgetpos stdio.h fgets stdio.h FILE stdio.h FILENAME-MAX stdio.h floor math.h fmod math.h fopen stdio.h FOPEN_MAX stdio.h fpos_t stdio.h fpnntf stdio.h fputc stdio.h fputs stdio.h head stdio.h free stdlib.h freopen stdio.h frexp math.h fscanf stdio.h fseek stdio.h fsetpos stdio.h ftell stdio.h fwrite stdio.h getc stdio.h getchar stdio.h getenv stdlib.h gets stdio.h gmtime time.h HUGE-V AL math.h _IOFBF stdio.h _IOLBF stdio.h _IONBF stdio.h isalnum ctype.h isalpha ctype.h iscntrl ctype.h isdigit ctype.h isgraph ctype.h islower ctype.h isprint ctype.h ispunct ctype.h isspace ctype.h isupper ctype.h isxdigit ctype.h jmp_buf setjmp.hLC_ALL locale.hLC_COLLATE locale.hLC_CTYPE locale.hLC_MONETARY locale.hLC_NUMERIC locale.hLC_TIME locale.hstruct lconv locale.hldexp math.hldiv stdlib.hldiv_t stdlib.hlocaleconv locale.hlocaltime timehlog math.hlog10 math.hlongjmp setjmp.hL_tmpnam stdio.hmalloc stdlib.hmblen stdlib.hmbstowcs stdlib.hmbtowc stdlib.hMB_CUR_MAX stdlib.hmemchr string.hmemcmp string.hmemcpy string.hmemmove string.hmemset string.hmktime time.hmodf math.hNDEBUG assert.hNULL locale.h stddef.h stdio.h stdlib.h string.h time.hoffsetof stddef.hperror stdio.hpow math.hprintf stdio.hptrdiff_t stddef.hputc stdio.hputchar stdio.hputs stdio.hqsort stdlib.hraise signal.hrand stdlib.hRAND_MAX stdlib.hremove stdio.hrename stdio.hrewind stdio.hscanf stdio.hSEEK_CUR stdio.hSEEK_END stdio.hSEEK_SET stdio.hsetbuf stdio.hsetjmp setjmp. hsetlocale locale.hsetvbuf stdio.hSIGABRT signal.hSIGFPE signal.hSIGILL signal.hSIGINT signal.hsignal signal.hSIGSEGV signal.hSIGTERM signal.hsig_atomic_t signal.hSIG_DFL signal.hSIG_ERR signal.hSIG_IGN signal.hsin math.hsinh math.hsize_t stddef.h stdlib.h string.hsprintf stdio.hsqrt math.hsrand stdlib.hsscanf stdio.hstderr stdio.hstdin stdio.hstdout stdio.hstrcat string.hstrchr string.hstrcmp string.hstrcoll string.hstrcpy string.hstrcspn string.hstrerror string.hstrftime time.hstrlen string.hstrncat string.hstrncpy string.h strpbrk string.h strrchr string.h strspn string.h strstr string.h strtod stdlib.h strtok string.h strtol stdlib.h strtoul stdlib.h strxfrm string.h system stblib.h tan math.h tanh math.h time time.h time_t time.h struct tm time.h tmpfile stdio.h tmpnam stdio.h TMP_MAX stdio.h tolower ctype.h toupper ctype.h ungetc stdio.h va_arg stdarg.h va_end stdarg.h valist stdarg.h va_ start stdarg.h vfprintf stdio.h vprintf stdio.h vsprintf stdio.h wchar_t stddef.h. wcstombs stdlib.h wctomb stdlib.h----------------------------------------------------版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.。

c 标准库函数手册

c 标准库函数手册

c 标准库函数手册C 标准库函数手册。

C 标准库函数是 C 语言提供的一组函数库,它包含了一系列常用的函数,可以帮助程序员更高效地完成各种任务。

本手册将介绍 C 标准库函数的常用函数及其用法,帮助读者更加深入地理解和运用这些函数。

一、stdio.h。

stdio.h 是 C 语言中用来进行输入输出操作的头文件,它包含了一系列与标准输入输出相关的函数。

其中,最常用的函数包括 printf、scanf、fopen、fclose 等。

这些函数可以帮助程序员进行屏幕输出、键盘输入、文件读写等操作。

例如,printf 函数可以用来向屏幕输出格式化的字符串,而 scanf 函数则可以用来从键盘接收输入并存储到变量中。

二、stdlib.h。

stdlib.h 是 C 语言中的标准库头文件之一,它包含了一系列与内存分配、随机数生成、字符串转换等功能相关的函数。

其中,最常用的函数包括 malloc、free、rand、atoi 等。

这些函数可以帮助程序员进行动态内存分配、随机数生成、字符串转换等操作。

例如,malloc 函数可以用来动态分配指定大小的内存空间,而 rand 函数则可以用来生成一个指定范围内的随机数。

三、math.h。

math.h 是 C 语言中的标准数学库头文件,它包含了一系列与数学运算相关的函数。

其中,最常用的函数包括 sin、cos、sqrt、pow 等。

这些函数可以帮助程序员进行各种数学运算,如三角函数计算、平方根计算、幂运算等。

例如,sin 函数可以用来计算给定角度的正弦值,而 sqrt 函数则可以用来计算一个数的平方根。

四、string.h。

string.h 是 C 语言中的标准字符串库头文件,它包含了一系列与字符串操作相关的函数。

其中,最常用的函数包括 strlen、strcpy、strcat、strcmp 等。

这些函数可以帮助程序员进行字符串的长度计算、复制、连接、比较等操作。

例如,strlen 函数可以用来计算一个字符串的长度,而 strcpy 函数则可以用来将一个字符串复制到另一个字符串中。

C++常用标准库函数

C++常用标准库函数

C++常用库函数1、常用数学函数头文件#include <math> 或者#include <math.h>2、常用字符串处理函数头文件#include <string> 或者#include <string.h>3、其他常用函数头文件#include <stdlib> 或者#include <stdlib.h>4、实现键盘和文件输入/输出的成员函数头文件#include <iostream> 或者#include <iostream.h>C++的头文件!#include <ctype.h>//字符处理#include <errno.h>//定义错误码#include <float.h>//浮点数处理#include <fstream.h>//文件输入/输出#include <iomanip.h>//参数化输入/输出#include <iostream.h> //数据流输入/输出#include <limits.h> //定义各种数据类型最值常量#include <locale.h> //定义本地化函数#include <math.h> //定义数学函数#include <stdio.h> //定义输入/输出函数#include <stdlib.h> //定义杂项函数及内存分配函数#include <string.h> //字符串处理#include <strstrea.h> //基于数组的输入/输出#include <time.h> //定义关于时间的函数#include <wchar.h> //宽字符处理及输入/输出#include <wctype.h> //宽字符分类标准C++ (同上的不再注释)#include <algorithm> //STL 通用算法#include <bitset> //STL 位集容器#include <cctype>#include <cerrno>#include <clocale>#include <cmath>#include <complex> //复数类#include <cstdio>#include <cstdlib>#include <cstring>#include <ctime>#include <deque> //STL 双端队列容器#include <exception> //异常处理类#include <fstream>#include <functional> //STL 定义运算函数(代替运算符)#include <limits>#include <list> //STL 线性列表容器#include <map> //STL 映射容器#include <iomanip>#include <ios> //基本输入/输出支持#include <iosfwd> //输入/输出系统使用的前置声明#include <iostream>#include <istream> //基本输入流#include <ostream> //基本输出流#include <queue> //STL 队列容器#include <set> //STL 集合容器#include <sstream> //基于字符串的流#include <stack> //STL 堆栈容器#include <stdexcept> //标准异常类#include <streambuf> //底层输入/输出支持#include <string> //字符串类#include <utility> //STL 通用模板类#include <vector> //STL 动态数组容器#include <cwchar>#include <cwctype>using namespace std;C99 增加#include //复数处理#include //浮点环境#include //整数格式转换#include //布尔环境#include //整型环境#include //通用类型数学宏数学函数,所在函数库为math.h、stdlib.h、string.h、float.hint abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数ex的值double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值double log(double x) 返回logex的值double log10(double x) 返回log10x的值double pow(double x,double y) 返回xy的值double pow10(int p) 返回10p的值double sqrt(double x) 返回+√x的值double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度double atan(double x) 返回x的反正切tan-1(x)值,x为弧度double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度double sin(double x) 返回x的正弦sin(x)值,x为弧度double tan(double x) 返回x的正切tan(x)值,x为弧度double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于x的最小整数double floor(double x) 返回不大于x的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double poly(double x,int n,double c[])从参数产生一个多项式double modf(double value,double *iptr)将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数double frexp(double value,int *eptr) 将双精度数value分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数value转换成字符串并存于buf中,并返回buf的指针char *ultoa(unsigned long value,char *string,int radix)将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *ltoa(long value,char *string,int radix)将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数, 并返回这个数,int matherr(struct exception *e)用户修改数学错误返回信息函数(没有必要使用)double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字目录函数,所在函数库为dir.h、dos.hint chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成功返回0int findfirst(char *pathname,struct ffblk *ffblk,intattrib)查找指定的文件,成功返回0pathname为指定的目录名和文件名,如"C:\\WPS\\TXT"ffblk为指定的保存文件信息的一个结构,定义如下:┏━━━━━━━━━━━━━━━━━━┓┃struct ffblk┃┃{ ┃┃char ff_reserved[21]; /*DOS保留字*/┃┃char ff_attrib; /*文件属性*/ ┃┃int ff_ftime; /*文件时间*/ ┃┃int ff_fdate; /*文件日期*/ ┃┃long ff_fsize; /*文件长度*/ ┃┃char ff_name[13]; /*文件名*/ ┃┃} ┃┗━━━━━━━━━━━━━━━━━━┛attrib为文件属性,由以下字符代表┏━━━━━━━━━┳━━━━━━━━┓┃FA_RDONL Y 只读文件┃FA_LABEL 卷标号┃┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录┃┃FA_SYSTEM 系统文件┃FA_ARCH 档案┃┗━━━━━━━━━┻━━━━━━━━┛例:struct ffblk ff;findfirst("*.wps",&ff,FA_RDONL Y);int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0 void fumerge(char *path,char *drive,char *dir,char *name,char *ext)此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名存与path中.int fnsplit(char *path,char *drive,char *dir,char *name,char *ext)此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB 等),文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称drive 指定的驱动器(0=当前,1=A,2=B,3=C等)direc 保存指定驱动器当前工作路径的变量成功返回0char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字节长为为止.错误返回NULLint getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C 等)int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等),返回可使用驱动器总数int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0 int rmdir(char *pathname) 删除一个目录pathname,成功返回0char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径,,此函数使用DOS的PA TH变量,未找到文件返回NULL 进程函数,所在函数库为stdlib.h、process.hvoid abort() 此函数通过调用具有出口代码3的_exit写一个终止信息于stderr,并异常终止程序。

常用C语言标准库函数

常用C语言标准库函数

常用C语言标准库函数C语言编译系统提供了众多的预定义库函数和宏。

用户在编写程序时,可以直接调用这些库函数和宏。

这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。

1.测试函数Isalnum原型:int isalnum(int c)功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:int isapha(int c)功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:int isascii(int c)功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零头文件:ctype.hIscntrl原型:int iscntrl(int c)功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.hIsdigit原型:int isdigit(int c)功能:测试参数c是否为数字:是则返回非零;否则返回零。

头文件:ctype.hIsgraph原型:int isgraph(int c)功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.hIslower原型:int islower(int c)功能:测试参数c是否为小写字母:是则返回非零;否则返回零头文件:ctype.hIsprint原型:int isprint(int c)功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零头文件:ctype.hIspunct原型:int ispunct(int c)功能:测试参数c是否为标点符号:是则返回非零;否则返回零头文件:ctype.hIsupper原型:int isupper(inr c)功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:int isxdigit(int c)功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:int abs(int i)功能:返回整数型参数i的绝对值头文件:stdlib.h,math.hacos原型:double acos(double x)功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:double asin(double x)功能:返回双精度参数x的反正弦三角函数值头文件:math.hatan原型:double atan(double x)功能:返回双精度参数的反正切三角函数值头文件:math.hatan2原型:double atan2(double y,double x)功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值头文件:math.hcabs原型:double cabs(struct complex znum)功能:返回一个双精度数,为计算出复数znum的绝对值。

C标准库函数集(头文件索引)

C标准库函数集(头文件索引)

C标准库C标准库 (1)1 输入与输出 <stdio.h> (1)2 字符类测试 <ctype.h> (19)3 字符串函数 <string.h> (22)4 数学函数 <math.h> (29)5 实用函数 <stdlib.h> (35)6 诊断 <assert.h> (43)7 变长变元表 <stdarg.h> (44)8 非局部跳转 <setjmp.h> (45)9 信号处理 <signal.h> (46)10 日期与时间函数 <time.h> (48)11 由实现定义的限制 <limits.h>和 <float.h> (52)本文包括大部分C标准库函数,但没有列出一些用途有限的函数以及某些可以简单的从其他函数合成的函数,也没有包含多字节和本地化函数。

标准库中的各个函数、类型以及宏分别在以下标准头文件中说明:1 输入与输出<stdio.h>头文件<stdio.h>定义了用于输入和输出的函数、类型和宏。

最重要的类型是用于声明文件指针的FILE。

另外两个常用的类型是size_t和fpos_t,size_t是由运算符sizeof产生的无符号整类型;fpos_t类型定义能够唯一说明文件中的每个位置的对象。

由头部定义的最有用的宏是EOF,其值代表文件的结尾。

1.1 文件操作1.1.1 fopen打开以filename所指内容为名字的文件,返回与之关联的流。

mode决定打开的方式,可选值如下:后六种方式允许对同一文件进行读和写,要注意的是,在写操作和读操作的交替过程中,必须调用fflush()或文件定位函数如fseek()、fsetpos()、rewind()等。

文件名filename的长度最大为FILENAME_MAX个字符,一次最多可打开FOPEN_MAX个文件(在<stdio.h>中定义)。

C语言标准库函数目录

C语言标准库函数目录

C语言标准库函数目录C语⾔标准库函数⾔录不是软件产业的领头⾔,就永远只有跟随的份,不过也有好处,站在前⾔的肩膀上可以节省很多时间去做更有⾔的事。

现在说说C语⾔的标准库函数。

好多C语⾔库函数参考还是⾔的TC的库函数参考,因此特地把现在C语⾔(C99)标准库函数的24个头⾔件列表如下:assert.h inttypes.h(C99) signal.h stdlib.hcomplex.h(C99) iso646.h(C95) stdarg.h string.hctype.h limits.h stdbool.h tgmath.h(C99)errno.h locale.h stddef.h time.hfenv.h(C99) math.h stdint.h(C99) wchar.h(C95)float.h setjmp.h stdio.h wctype.h(C95)其中C99表⾔该头⾔件是在C99标准中新增的,C95表⾔对原有C89进⾔⾔次增补后的C89标准,⾔称C89增补1。

C89中的标准头⾔件:1. <assert.h>定义宏assert()2. <ctype.h>字符处理3. <errno.h>错误报告4. <float.h>定义与实现相关的浮点5. <limits.h>定义与实现相关的各种极限值6. <locale.h>⾔持函数setlocale()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>⾔持系统时间函数在95年的修正版中添加标准头⾔件:1. <iso646.h>⾔先在此1995年第⾔次修订时引进,⾔于定义对应各种运算符的宏2. <wchar.h>⾔先在1995年第⾔次修订时引进,⾔于⾔持多字节和宽字节函数3. <wctype.h>⾔先在1995年第⾔次修订时引进,⾔于⾔持多字节和宽字节分类函数C99中增加了六个标准头⾔件:1. <complex.h>⾔持复数算法2. <fenv.h>给出对浮点状态标记和浮点环境的其他⾔⾔的访问3. <inttypes.h>定义标准的、可移植的整型类型集合。

c语言标准库函数

c语言标准库函数

c语言标准库函数C标准函数库(C Standard library)是所有符合标准的头文件(head file)的集合,以及常用的函数库实现程序,例如I/O 输入输出和字符串控制。

不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。

中文名C标准函数库类别C语言库类型头文件源自C99目录1 设计2 设计质量3 历史沿革设计每一个函数的名称与特性会被写成一个电脑文件,这个文件就称为头文件,但是实际的函数实现是被分存到函数库文件里。

头文件的命名和领域是很常见的,但是函数库的组织架构也会因为不同的编译器而有所不同。

标准函数库通常会随附在编译器上。

因为 C 编译器常会提供一些额外的非 ANSI C 函数功能,所以某个随附在特定编译器上的标准函数库,对其他不同的编译器来说,是不兼容的。

设计质量大多 C 标准函数库在设计上做得相当不错。

有些少部分的,会为了商业优势和利益,会把某些旧函数视同错误或提出警告。

字符串输入函数 gets()(以及 scanf() 读取字符串输入的使用上)是很多缓存溢出的原因,而且大多的程序设计指南会建议避免使用它。

另一个较为奇特的函数是strtok(),它原本是作为早期的词汇分析用途,但是它非常容易出错(fragile),而且很难使用。

历史沿革1995年,Normative Addendum 1 (NA1)批准了三个头文件(iso646.h, wchar.h, and wctype.h)增加到C标准函数库中。

C99标准增加了六个头文件(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h, and tgmath.h)。

C11标准中又新增了5个头文件(stdalign.h, stdatomic.h, stdnoreturn.h, threads.h, and uchar.h)。

C语言常用库函数

C语言常用库函数

合用标准文案C 库函数1. 数学函数头文件为 #include<math.h>也许 #include"math.h"函数名函数原型功能返回值说明absint abs(int x)求整数 x 的绝对值计算结果double acos(doubleX 应在-1 到1范围acos计算 cos -1 (x) 的值计算结果x)内X 应在-1 到1范围asindouble asin(double x)计算 sin -1 (x) 的值计算结果内atan double atan(double x) 计算 tan -1 (x) 的值计算结果double atan2(doubleAtan2计算 tan -1 (x/y) 的值计算结果x,double y)cos double cos(double x) 计算 cos(x) 的值 计算结果 X 的单位为弧度double cosh(double计算 x 的双曲余弦cosh计算结果x)函数 cosh(x) 的值exp double exp(double x) 求 e x的值 计算结果 fabsdouble fabs(double x)求 x 的绝对值计算结果该整数的double floor(double求出不大于 x 的最floor双精度实x)大整数数fmod double fmod(double 求整除 x/y 的余数 返回余数合用标准文案x,double y) double frexp(double的双精度实数把双精度数val 分解为数字局部(尾数 )x返回数字和以 2 为底的指数frexpval, int *eptr)n ,即 val=x*2局部 xn0.5 ≤x< 1log double log(double x)double log10(double log10x)Double modf(double modfval, double *iptr)double pow(double powx,double y) rand Int rand(void)n 存放在eptr指向的变量中求 log ex,即 ln x计算结果求 log10x计算结果把双精度数val 分解为整数局部和小数Val 的小数局部,把整数局部存局部到 iptr计算xy的值计算结果产生随机 -90 到32767间的随机整随机整数数sin Double sin(double x)计算sin x的值计算结果X 单位为弧度sinh double sinh(double x)计算x的双曲正弦计算结果函数 sinh(x) 的值sqrt Double sqrt(double x)计算x计算结果X 应≥0 tan Double tan(double x)计算tan(x)的值计算结果X 单位为弧度Double tanh(double计算x的双曲正切tanh计算结果x)函数 tanh(x) 的值2.字符函数和字符串函数函数名函数原型功能返回值包括文件检查 ch 是否是字母isalnu Int isalnum (int是字母或数字返(alpha) 或数字m ch);回 1 ;否那么返回 0(numeric)是,返回 1 ;不是,isalpha Int isalpha(int ch);检查 ch 可否字母那么返回 0检查 ch 可否控制字符是,返回 1 ;不是,iscntrl Int iscntrl (int ch);〔其 ASCII 码在 0 和那么返回 00x1F 之间〕检查 ch 可否为数字是,返回 1 ;不是,isdigit Int isdigit (int ch);〔0~9 〕那么返回 0检查 ch 可否可打印字符Int isgraph (int是,返回 1 ;不是,isgraph〔其 ASCII 码在 0x21 和ch);那么返回 00x7E 之间〕,不包括空格Int islower (int检查 ch 可否小写字母是,返回 1 ;不是,islowerch);〔 a~z 〕那么返回 0检查 ch 可否可打印字符,〔包括空格〕,其是,返回 1 ;不是,isprint Intisprint (int ch);ASCII 码在 0x20 和 0x7E那么返回 0之间,ispunct Int ispunct (int检查 ch 可否标点字符是,返回 1 ;不是,ch);〔不包括空格〕,即除字那么返回0母、数字和空格以外的所有可打印字符Int isspace (int检查ch可否空格符、跳是,返回1;不是,isspacech);格符〔制表符〕或换行符那么返回0Int isupper (int检查ch可否大写字母是,返回1;不是,isupperch);〔A~Z 〕那么返回0检查 ch 可否一个十六进Intisxdigit (int是,返回1;不是,isxdigit制数字字符〔即0~9 ,ch);那么返回 0或 A~F ,或 a~f 〕把字符串str2 接到 str1char *strcat(charstrcat后边,str1 最后边的’ \0 ’Str1 *str1,char *str2);被取消找出 str 指向的字符串中返回指向该地址char *strchr(charstrchr第一次出现字符ch 的位的指针,如找不*str,int ch);置到,那么返回空指针Str1 <str2 ,返回负数;char *strcmp(char比较两个字符串str1 、Str1 =str2 ,返回strcmp*str1,char *str2);str20 ;str1 > str2 ,返回正数。

c语言标准库函数手册

c语言标准库函数手册

c语言标准库函数手册C语言标准库函数手册。

C语言标准库函数是C语言中非常重要的一部分,它包含了大量的函数,可以帮助程序员实现各种功能。

本手册将详细介绍C语言标准库中常用的函数,希望能够帮助读者更好地理解和应用这些函数。

一、stdio.h。

stdio.h是C语言标准库中的一个头文件,它包含了一些常用的输入输出函数。

其中,最常用的函数包括printf、scanf、fopen、fclose等。

这些函数可以帮助程序员实现输入输出操作,是C语言编程中必不可少的一部分。

1. printf。

printf函数是C语言中用来输出格式化字符串的函数,它可以根据格式化字符串中的格式化指令,将相应的数据输出到标准输出设备(通常是显示器)。

例如,可以使用printf("%d", num)来输出一个整数。

2. scanf。

scanf函数是C语言中用来输入数据的函数,它可以根据格式化字符串中的格式化指令,从标准输入设备(通常是键盘)中读取数据并存储到指定的变量中。

例如,可以使用scanf("%d", &num)来输入一个整数并存储到变量num中。

3. fopen和fclose。

fopen函数用来打开一个文件,并返回一个指向该文件的指针。

fclose函数用来关闭一个已打开的文件。

这两个函数在文件操作中非常常用,可以帮助程序员实现文件的读写操作。

二、stdlib.h。

stdlib.h是C语言标准库中的另一个头文件,它包含了一些常用的通用工具函数。

其中,最常用的函数包括malloc、free、rand、exit等。

这些函数可以帮助程序员实现动态内存分配、随机数生成、程序退出等功能。

1. malloc和free。

malloc函数用来在堆上分配指定大小的内存空间,并返回指向该空间的指针。

free函数用来释放之前分配的内存空间。

这两个函数在动态内存管理中非常重要,可以帮助程序员灵活地管理内存空间。

C语言标准库函数大全.pdf

C语言标准库函数大全.pdf

C语言标准库函数大全.pdf1、ArthersBlog博客园社区首页新随笔联系管理订阅随笔-208文章-0评论-14TurboC2.0函数中文说明大全分类函数,所在函数库为ctype.hintisalpha(intch)若ch是字母(A-Z,a-z)返回非0值,否则返回0intisalnum(intch)若ch是字母(A-Z,a-z)或数字(0-9),返回2、非0值,否则返回0intisascii(intch)若ch是字符(ASCII码中的0-127)返回非0值,否则返回0intiscntrl(intch)若ch是作废字符(0x7F)或一般掌握字符(0x00-0x1F),返回非0值,否则返回0intisdigit(intch)若ch是数字(0-9)返回非0值,否则返回0intisgraph(intch)若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0intislower(intch)若ch是小写字母(a-z3、)返回非0值,否则返回0intisprint(intch)若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0intispunct(intch)若ch是标点字符(0x00-0x1F)返回非0值,否则返回0intisspace(intch)若ch是空格(),水平制表符(t),回车符(r),走纸换行(f),垂直制表符(v),换行符(n),返回非0值,否则返回0intisupper(intch)若ch是大写4、字母(A-Z)返回非0值,否则返回0intisxdigit(intch)若ch 是16进制数(0-9,A-F,a-f)返回非0值,否则返回0inttolower(intch)若ch是大写字母(A-Z)返回相应的小写字母(a-z)inttoupper(intch)若ch是小写字母(5、a-z)返回相应的大写字母(A-Z)数学函数,所在函数库为math.h、stdlib.h、string.h、float.hintabs(inti)返回整型参数i的肯定值doublecabs(structcomplexznum)返回复数znum的肯定值doublefabs(doublex)返回双精度参数x的肯定值longlabs(longn)返回长整型参数n的肯定值doubleexp(doublex)返回指数函数ex的值doublefrexp(doublevalue,int*eptr)返回v6、alue=x*2n中x的值,n存贮在eptr中doubleldexp(doublevalue,intexp);返回value*2exp的值doublelog(doublex)返回logex的值doublelog10(doublex)返回log10x的值doublepow(doublex,doubley)返回xy的值doublepow10(intp)返回10p的值doublesqrt(doublex)返回x的开方doubleacos(doublex)返回x的反余弦cos-1(x)值,x为弧度c语言库函数大全--资料收集预备是胜利的首要前提与我联系发短消息搜寻常用链接我的随笔7、我的空间我的短信我的评论更多链接留言簿给我留言查看留言随笔分类(174).Net(rss)Algorithm(15)(rss)Basic(10)(rss)CC++(33)(rss) DBase(2)(rss)Essay(112)(rss)Java(2)(rss)随笔档案(208)2021年8月(1)2021年5月(5)2021年4月(4)2021年3月(1)2021年1月(21)2021年12月(48)2021年11月(121)2021年10月(7)找找看Page1of222021-4-3file://F:DOCUME~1lichaoLOCALS~1Tem8、pKABU69VF.htm。

C语言中常用的几个头文件及库函数

C语言中常用的几个头文件及库函数

C语⾔中常⽤的⼏个头⽂件及库函数不完全统计,C语⾔标准库中的头⽂件有15个之多,所以我主要介绍常⽤的这四个头⽂件stdio.h,string.h,math.h,stdlib.h,以后⽤到其他的再做补充。

下⾯上⼲货:1.<stdio.h>:定义了输⼊输出函数、类型以及宏,函数⼏乎占了标准库的1/3。

(1)⽂件访问。

FILE *fopen(“filename”,“mode”):以mode模式打开地址为'filename'的⽂件,并返回⽂件指针。

访问模式主要是“r”:只读; “w” :只写,并删除已有内容; “a”:追加,在末尾追加;“r+”, “w+”:读写; “a+”追加,上述结尾加“b”:⼆进制⽂件操作。

注意:其中r是打开⽂件,⽽w会创建(如果⽂件不存在); w会覆盖原有内容,a则是在原有⽂件末尾追加。

int fclose(FILE *f):释放缓冲区数据,关闭流。

下⾯两个没太⽤过:FILE *freopen(“filename”,“mode”,FILE * f):以mode模式打开地址为'filename'的⽂件,并将该⽂件与流f2关联。

int fflush(FILE *f):将已写到缓冲区但未写⼊⽂件中的所有数据写⼊⽂件中。

(2)⼆进制输⼊/输出fread(*ptr,size,n,FILE* f):从f中读取n个长度为size的对象,并放⼊ptr指向的数组中。

fwrite(*ptr,size,n,FILE* f):从ptr指向数组中读取n个长度为size的对象,并写⼊f中。

注意:要注意write与read的对象,读和写都是针对⽂件流f的。

(3)⾮格式化输⼊/输出int fgetc/getc(FILE *f):返回流f的下⼀个字符,到达⽂件末尾/发⽣错误,则返回EOF。

int fputc/putc(int c, FILE *f)将字符c输⼊到流f中。

C语言头文件大全

C语言头文件大全

标准C语言头文件ISO C标准定义的头文件(24项)<assert.h> 验证程序断言<complex.h> 支持复数算术运算<ctype.h> 字符类型<errno.h> 出错码<fenv.h> 浮点环境<float.h> 浮点常量<inttypes.h> 整型格式转换<iso646.h> 替代关系操作符宏<limits.h> 实现常量<locale.h> 局部类别<math.h> 数学常量<setjmp.h> 非局部goto<signal.h> 信号<stdarg.h> 可变参数表<stdbool.h> 布尔类型和值<stddef.h> 标准定义<stdint.h> 整型<stdio.h> 标准I/O库<stdlib.h> 实用程序库函数<string.h> 字符串操作<tgmath.h> 通用类型数学宏<time.h> 时间和日期<wchar.h> 宽字符支持<wctype.h> 宽字符分类和映射支持POSIX标准定义的必须的头文件(26项)<dirent.h> 目录项<fcntl.h> 文件控制<fnmatch.h> 文件名匹配类型<glob.h> 路径名模式匹配类型<grp.h> 组文件<netdb.h> 网络数据库操作<pwd.h> 口令文件<regex.h> 正则表达式<tar.h> tar归档值<termios.h> 终端I/O <unistd.h> 符号常量<utime.h> 文件时间<wordexp.h> 字扩展类型<arpa/inet.h> Internet定义<net/if.h> 套接字本地接口<netinet/in.h> Internet地址族 <netinet/tcp.h> 传输控制协议<sys/mman.h> 内存管理声明<sys/select.h> select函数<sys/socket.h> 套接字接口<sys/stat.h> 文件状态<sys/times.h> 进程时间<sys/types.h> 基本系统数据类型<sys/un.h> UNIX域套接字定义<sys/utsname.h>系统名<sys/wait.h> 进程控制POSIX标准定义的XSI扩展头文件(26项)<cpio.h> cpio归档值<dlfcn.h> 动态链接<fmtmsg.h> 消息显示结构<ftw.h> 文件树漫游<iconv.h> 代码集转换实用程序<langinfo.h> 语言信息常量<libgen.h> 模式匹配函数定义<monetary.h> 货币类型<ndbm.h> 数据库操作<nl_types.h> 消息类别<poll.h> 轮询函数<search.h> 搜索表<strings.h> 字符串操作<syslog.h> 系统出错日志记录<ucontext.h> 用户上下文<ulimit.h> 用户限制<utmpx.h> 用户帐户数据库<sys/ipc.h> IPC<sys/msg.h> 消息队列<sys/resource.h> 资源操作<sys/sem.h> 信号量<sys/shm.h> 共享存储<sys/statvfs.h> 文件系统信息<sys/time.h> 时间类型<sys/timeb.h> 附加的时间<sys/uio.h> 矢量I/O操作POSIX标准定义的可选头文件(8项)<aio.h> 异步I/O <mqueue.h> 消息队列<pthread.h> 线程<sched.h> 执行调度<semaphore.h> 信号量<spawn.h> 实时spawn接口<stropts.h> XSI STREAMS接口<trace.h> 时间跟踪标准 C++ 语言头文件(54个其中16个用于构建STL,3个为附加非必须)<algorithm>STL通用算法<bitset> STL位集容器<cassert> 用于在程序运行时执行断言<cctype> 字符处理<cerrno> 错误码<cfloat> 用于测试浮点类型属性<ciso646> ISO646变体字符集<climits> 测试整数类型属性<clocale> 本地化函数<cmath> 数学函数<complex>复数类<csetjmp> 执行非内部的goto语句<csignal> 信号<cstdarg> 访问参数数量变化的函数<cstddef> 用于定义实用的类型和宏<cstdio> 输入/输出<cstdlib> 杂项函数及内存分配<cstring> 字符串<ctime> 时间<cwchar> 宽字符处理及输入/输出<cwctype> 宽字符分类<deque> STL双端队列容器<exception> 异常处理类<fstream> 文件流<functional> STL函数对象<iomanip> 参数化输入/输出<ios>基本输入/输出支持<iosfwd> 输入/输出前置声明<iostream> 数据流输入/输出<istream> 基本输入流<iterator> 遍历序列的类<limits> 各种数据类型最值常量<list>STL线性列表容器<locale> 国际化支持<map> STL映射容器<memory> 专用内存分配器<new> 基本内存分配和释放<numeric> 通用的数字操作<ostream> 基本输出流<queue> STL 队列容器<set> STL 集合容器<sstream> 基于字符串的流<stack> STL 堆栈容器<stdexcept> 标准异常类<streambuf> iostream 的缓冲区类<string> 字符串类<strstream> 非内存字符序列的流类<typeinfo> 运行时类型标识<utility> STL 通用模板类<valarray> 支持值数组的类和模版类<vector> STL 动态数组容器标准C++附加的头文件(3个)非必须<hash_map> <hash_set> <slist>The Standard C++ library consists of 51 required headers.This implementation also includes three additional headers,<hash_map>,<hash_set>,and <slist>,not required by the C++ Standard,for a total of 54 headers.Of these 54 headers,16 constitute the Standard Template Library,or STL.These are indicated below with the notation<algorithm> -- (STL) for defining numerous templates that implement useful algorithms<bitset> -- for defining a template class that administers sets of bits<complex> -- for defining a template class that supports complex arithmetic<deque> -- (STL) for defining a template class that implements a deque container<exception> -- for defining several functions that control exception handling<fstream> -- for defining several iostreams template classes that manipulate exteral files<functional>-- (STL) for defining several templates that help construct predicates for the templates defined in <algorithm> and <numeric><hash_map> -- (STL) for defining template classes that implement hashed associative containersthat map keys to values<hash_set> -- (STL) for defining template classes that implement hashed associative containers<iomanip> -- for declaring several iostreams manipulators that take an argument<ios> -- for defining the template class that serves as the base for many iostreams classes<iosfwd> -- for declaring several iostreams template classes before they are necessarilydefined<iostream> -- for declaring the iostreams objects that manipulate the standard streams<istream> -- for defining the template class that performs extractions<iterator> -- (STL) for defining several templates that help define and manipulate iterators<limits> -- for testing numeric type properties<list>-- (STL) for defining a template class that implements a doubly linked list container<locale> -- for defining several classes and templates that controllocale-specific behavior, as in the iostreams classes<map>-- (STL) for defining template classes that implement associative containers thatmap keys to values<memory>-- (STL) for defining several templates that allocate and free storage for variouscontainer classes<new> -- for declaring several functions that allocate and free storage<numeric>-- (STL) for defining several templates that implement useful numeric functions<ostream> -- for defining the template class that performs insertions<queue> -- (STL) for defining a template class that implements a queue container<set>-- (STL) for defining template classes that implement associative containers<slist>-- (STL) for defining a template class that implements a singly linked list container<sstream> -- for defining several iostreams template classes that manipulate string containers<stack> -- (STL) for defining a template class that implements a stack container<stdexcept> -- for defining several classes useful for reporting exceptions<streambuf> -- for defining template classes that buffer iostreams operations<string> -- for defining a template class that implements a string container<strstream> -- for defining several iostreams classes that manipulate in-memory character sequences<typeinfo> -- for defining class type_info, the result of the typeid operator<utility>-- (STL) for defining several templates of general utility<valarray> -- for defining several classes and template classes that support value-oriented arrays<vector>-- (STL) for defining a template class that implements a vector container新的C标准库<cassert> -- for enforcing assertions when functions execute<cctype> -- for classifying characters<cerrno> -- for testing error codes reported by library functions<cfloat> -- for testing floating-point type properties<ciso646> -- for programming in ISO 646 variant character sets<climits> -- for testing integer type properties<clocale> -- for adapting to different cultural conventions<cmath> -- for computing common mathematical functions<csetjmp> -- for executing nonlocal goto statements<csignal> -- for controlling various exceptional conditions<cstdarg> -- for accessing a varying number of arguments<cstddef> -- for defining several useful types and macros<cstdio> -- for performing input and output<cstdlib> -- for performing a variety of operations<cstring> -- for manipulating several kinds of strings<ctime> -- for converting between various time and date formats<cwchar> -- for manipulating wide streams and several kinds of strings<cwctype> -- for classifying wide characters旧的C标准库<assert.h> -- for enforcing assertions when functions execute<ctype.h> -- for classifying characters<errno.h> -- for testing error codes reported by library functions<float.h> -- for testing floating-point type properties<iso646.h> -- for programming in ISO 646 variant character sets<limits.h> -- for testing integer type properties<locale.h> -- for adapting to different cultural conventions<math.h> -- for computing common mathematical functions<setjmp.h> -- for executing nonlocal goto statements<signal.h> -- for controlling various exceptional conditions<stdarg.h> -- for accessing a varying number of arguments<stddef.h> -- for defining several useful types and macros<stdio.h> -- for performing input and output<stdlib.h> -- for performing a variety of operations<string.h> -- for manipulating several kinds of strings<time.h> -- for converting between various time and date formats<wchar.h> -- for manipulating wide streams and several kinds of strings<wctype.h> -- for classifying wide charactersFinally, in this implementation, the Standard C++ library also includes several headers for compatibility with traditional C++ libraries:<fstream.h> -- for defining several iostreams template classes that manipulate exteral files <iomanip.h> -- for declaring several iostreams manipulators that take an argument<iostream.h> -- for declaring the iostreams objects that manipulate the standard streams <new.h> -- for declaring several functions that allocate and free storage<stl.h> -- for declaring several template classes that aid migration from older versions of the Standard Template Library。

C语言头文件大全

C语言头文件大全

标准C语言头文件ISOC标准定义的头文件(24项)<assert.h>验证程序断言<complex.h>?支持复数算术运算<ctype.h>?字符类型<errno.h>?出错码<fenv.h>?浮点环境<float.h>?浮点常量<inttypes.h>?整型格式转换<iso646.h>替代关系操作符宏<limits.h>?实现常量<locale.h>?局部类别<math.h>?数学常量<setjmp.h>非局部goto<signal.h>?信号<stdarg.h>?可变参数表<stdbool.h>?布尔类型和值<stddef.h>?标准定义<stdint.h>?整型<stdio.h>?标准I/O库<stdlib.h>?实用程序库函数<string.h>?字符串操作<tgmath.h>?通用类型数学宏<time.h>?时间和日期<wchar.h>?宽字符支持<wctype.h>?宽字符分类和映射支持POSIX标准定义的必须的头文件(26项)<dirent.h>?目录项<fcntl.h>?文件控制<fnmatch.h>?文件名匹配类型<glob.h>?路径名模式匹配类型<grp.h>?组文件<netdb.h>?网络数据库操作<pwd.h>口令文件<regex.h>?正则表达式<tar.h>?tar归档值<termios.h>?终端I/O <unistd.h>?符号常量<utime.h>?文件时间<wordexp.h>?字扩展类型<arpa/inet.h>?Internet定义<net/if.h>?套接字本地接口<netinet/in.h>Internet地址族<netinet/tcp.h>?传输控制协议 <sys/mman.h>?内存管理声明<sys/select.h>?select函数<sys/socket.h>?套接字接口<sys/stat.h>?文件状态<sys/times.h>?进程时间<sys/types.h>?基本系统数据类型<sys/un.h>?UNIX域套接字定义<sys/utsname.h>系统名<sys/wait.h>?进程控制POSIX标准定义的XSI扩展头文件(26项)<cpio.h>cpio归档值<dlfcn.h>?动态链接<fmtmsg.h>?消息显示结构<ftw.h>?文件树漫游<iconv.h>?代码集转换实用程序<langinfo.h>?语言信息常量<libgen.h>?模式匹配函数定义<monetary.h>?货币类型<ndbm.h>?数据库操作<nl_types.h>?消息类别<poll.h>?轮询函数<search.h>?搜索表<strings.h>?字符串操作<syslog.h>?系统出错日志记录<ucontext.h>?用户上下文<ulimit.h>?用户限制<utmpx.h>?用户帐户数据库<sys/ipc.h>IPC<sys/msg.h>?消息队列<sys/resource.h>资源操作<sys/sem.h>?信号量<sys/shm.h>?共享存储<sys/statvfs.h>?文件系统信息<sys/time.h>?时间类型<sys/timeb.h>?附加的时间<sys/uio.h>?矢量I/O操作POSIX标准定义的可选头文件(8项)<aio.h>?异步I/O <mqueue.h>?消息队列<pthread.h>?线程<sched.h>?执行调度<semaphore.h>信号量<spawn.h>?实时spawn接口<stropts.h>?XSISTREAMS接口<trace.h>?时间跟踪标准C++语言头文件(54个其中16个用于构建STL,3个为附加非必须)<algorithm>STL通用算法<bitset>STL位集容器<cassert>?用于在程序运行时执行断言<cctype>字符处理<cerrno>错误码<cfloat>?用于测试浮点类型属性<ciso646>?ISO646变体字符集<climits>?测试整数类型属性<clocale>本地化函数<cmath> 数学函数<complex>复数类<csetjmp>?执行非内部的goto语句<csignal>?信号<cstdarg>?访问参数数量变化的函数<cstddef>?用于定义实用的类型和宏<cstdio>输入/输出<cstdlib>杂项函数及内存分配<cstring>字符串<ctime> 时间<cwchar>宽字符处理及输入/输出<cwctype>宽字符分类<deque>STL双端队列容器<exception>异常处理类<fstream>文件流<functional>STL函数对象<iomanip>参数化输入/输出<ios>基本输入/输出支持<iosfwd>输入/输出前置声明<iostream>数据流输入/输出<istream>基本输入流<iterator>遍历序列的类<limits>各种数据类型最值常量<list>STL线性列表容器<locale>国际化支持<map>STL映射容器<memory>专用内存分配器<new>基本内存分配和释放? <numeric>通用的数字操作<ostream>基本输出流<queue> STL队列容器<set>STL集合容器<sstream>基于字符串的流<stack>STL堆栈容器<stdexcept>标准异常类<streambuf>iostream的缓冲区类<string>字符串类<strstream>?非内存字符序列的流类<typeinfo> 运行时类型标识<utility>STL通用模板类<valarray>?支持值数组的类和模版类<vector>STL动态数组容器标准C++附加的头文件(3个)非必须<hash_map> <hash_set> <slist>TheStandardC++libraryconsistsof51requiredheaders.Thisimplementationalsoincludesthreeaddit ionalheaders,<hash_map>,<hash_set>,and<slist>,notrequiredbytheC++Standard,foratotalof54he aders.Ofthese54headers,16constitutetheStandardTemplateLibrary,orSTL.Theseareindicatedbelo wwiththenotation<algorithm>--(STL)fordefiningnumeroustemplatesthatimplementusefulalgorithms<bitset> --fordefiningatemplateclassthatadministerssetsofbits<complex> --fordefiningatemplateclassthatsupportscomplexarithmetic<deque>--(STL)fordefiningatemplateclassthatimplementsadequecontainer<exception>--fordefiningseveralfunctionsthatcontrolexceptionhandling<fstream> --fordefiningseveraliostreamstemplateclassesthatmanipulateexteralfiles<functional>--(STL)fordefiningseveraltemplatesthathelpconstructpredicatesfor thetemplatesdefinedin<algorithm>and<numeric><hash_map>--(STL)fordefiningtemplateclassesthatimplementhashedassociativecontainers thatmapkeystovalues<hash_set>--(STL)fordefiningtemplateclassesthatimplementhashedassociativecontainers<iomanip> --fordeclaringseveraliostreamsmanipulatorsthattakeanargument<ios> --fordefiningthetemplateclassthatservesasthebaseformanyiostreamsclasses<iosfwd> --fordeclaringseveraliostreamstemplateclassesbeforetheyarenecessarilydefined<iostream> --fordeclaringtheiostreamsobjectsthatmanipulatethestandardstreams<istream> --fordefiningthetemplateclassthatperformsextractions<iterator>--(STL)fordefiningseveraltemplatesthathelpdefineandmanipulateiterators<limits> --fortestingnumerictypeproperties<list>--(STL)fordefiningatemplateclassthatimplementsadoublylinkedlistcontainer<locale> --fordefiningseveralclassesandtemplatesthatcontrollocale-specificbehavior,asintheiostreamsclasses<map>--(STL)fordefiningtemplateclassesthatimplementassociativecontainersthat mapkeystovalues<memory>--(STL)fordefiningseveraltemplatesthatallocateandfreestorageforvarious containerclasses<new> --fordeclaringseveralfunctionsthatallocateandfreestorage<numeric>--(STL)fordefiningseveraltemplatesthatimplementusefulnumericfunctions<ostream> --fordefiningthetemplateclassthatperformsinsertions<queue>--(STL)fordefiningatemplateclassthatimplementsaqueuecontainer<set>--(STL)fordefiningtemplateclassesthatimplementassociativecontainers<slist>--(STL)fordefiningatemplateclassthatimplementsasinglylinkedlistcontainer<sstream>--fordefiningseveraliostreamstemplateclassesthatmanipulatestringcontainers<stack>--(STL)fordefiningatemplateclassthatimplementsastackcontainer<stdexcept>--fordefiningseveralclassesusefulforreportingexceptions<streambuf>--fordefiningtemplateclassesthatbufferiostreamsoperations<string> --fordefiningatemplateclassthatimplementsastringcontainer<strstream>--fordefiningseveraliostreamsclassesthatmanipulatein-memorycharacter sequences<typeinfo> --fordefiningclasstype_info,theresultofthetypeidoperator<utility>--(STL)fordefiningseveraltemplatesofgeneralutility<valarray> --fordefiningseveralclassesandtemplateclassesthatsupportvalue-oriented arrays<vector>--(STL)fordefiningatemplateclassthatimplementsavectorcontainer新的C标准库<cassert> --forenforcingassertionswhenfunctionsexecute<cctype> --forclassifyingcharacters<cerrno> --fortestingerrorcodesreportedbylibraryfunctions<cfloat> --fortestingfloating-pointtypeproperties<ciso646> --forprogramminginISO646variantcharactersets<climits> --fortestingintegertypeproperties<clocale> --foradaptingtodifferentculturalconventions<cmath> --forcomputingcommonmathematicalfunctions<csetjmp> --forexecutingnonlocalgotostatements<csignal> --forcontrollingvariousexceptionalconditions<cstdarg> --foraccessingavaryingnumberofarguments<cstddef> --fordefiningseveralusefultypesandmacros<cstdio> --forperforminginputandoutput<cstdlib> --forperformingavarietyofoperations<cstring> --formanipulatingseveralkindsofstrings<ctime> --forconvertingbetweenvarioustimeanddateformats<cwchar> --formanipulatingwidestreamsandseveralkindsofstrings<cwctype> --forclassifyingwidecharacters旧的C标准库<assert.h> --forenforcingassertionswhenfunctionsexecute<ctype.h> --forclassifyingcharacters<errno.h> --fortestingerrorcodesreportedbylibraryfunctions<float.h> --fortestingfloating-pointtypeproperties<iso646.h> --forprogramminginISO646variantcharactersets<limits.h> --fortestingintegertypeproperties<locale.h> --foradaptingtodifferentculturalconventions<math.h> --forcomputingcommonmathematicalfunctions<setjmp.h> --forexecutingnonlocalgotostatements<signal.h> --forcontrollingvariousexceptionalconditions<stdarg.h> --foraccessingavaryingnumberofarguments<stddef.h> --fordefiningseveralusefultypesandmacros<stdio.h> --forperforminginputandoutput<stdlib.h> --forperformingavarietyofoperations<string.h> --formanipulatingseveralkindsofstrings<time.h> --forconvertingbetweenvarioustimeanddateformats<wchar.h> --formanipulatingwidestreamsandseveralkindsofstrings<wctype.h> --forclassifyingwidecharactersFinally,inthisimplementation,theStandardC++libraryalsoincludesseveralheadersforcompatibil itywithtraditionalC++libraries:<fstream.h>--fordefiningseveraliostreamstemplateclassesthatmanipulateexteralfiles<iomanip.h>--fordeclaringseveraliostreamsmanipulatorsthattakeanargument<iostream.h>--fordeclaringtheiostreamsobjectsthatmanipulatethestandardstreams<new.h> --fordeclaringseveralfunctionsthatallocateandfreestorage<stl.h> --fordeclaringseveraltemplateclassesthataidmigrationfromolderversions oftheStandardTemplateLibrary。

【CC++】程序设计语言之常用头文件及函数汇总

【CC++】程序设计语言之常用头文件及函数汇总

C/C++头文件一览C#include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <iso646.h> //对应各种运算符的宏#include <limits.h> //定义各种数据类型最值的常量#include <locale.h> //定义本地化C函数#include <math.h> //定义数学函数#include <setjmp.h> //异常处理支持#include <signal.h> //信号机制支持#include <stdarg.h> //不定参数列表支持#include <stddef.h> //常用常量#include <stdio.h> //定义输入/输出函数#include <stdlib.h> //定义杂项函数及内存分配函数#include <string.h> //字符串处理#include <time.h> //定义关于时间的函数#include <wchar.h> //宽字符处理及输入/输出#include <wctype.h> //宽字符分类传统C++#include <fstream.h> //改用<fstream>#include <iomanip.h> //改用<iomainip>#include <iostream.h> //改用<iostream>#include <strstrea.h> //该类不再支持,改用<sstream>中的stringstream ————————————————————————————————标准C++#include <algorithm> //STL 通用算法#include <bitset> //STL 位集容器#include <cctype> //字符处理#include <cerrno> //定义错误码#include <cfloat> //浮点数处理#include <ciso646> //对应各种运算符的宏#include <climits> //定义各种数据类型最值的常量#include <clocale> //定义本地化函数#include <cmath> //定义数学函数#include <complex> //复数类#include <csignal> //信号机制支持#include <csetjmp> //异常处理支持#include <cstdarg> //不定参数列表支持#include <cstddef> //常用常量#include <cstdio> //定义输入/输出函数#include <cstdlib> //定义杂项函数及内存分配函数#include <cstring> //字符串处理#include <ctime> //定义关于时间的函数#include <cwchar> //宽字符处理及输入/输出#include <cwctype> //宽字符分类#include <deque> //STL 双端队列容器#include <exception> //异常处理类#include <fstream> //文件输入/输出#include <functional> //STL 定义运算函数(代替运算符)#include <limits> //定义各种数据类型最值常量#include <list> //STL 线性列表容器#include <locale> //本地化特定信息#include <map> //STL 映射容器#include <memory> //STL通过分配器进行的内存分配#include <new> //动态内存分配#include <numeric> //STL常用的数字操作#include <iomanip> //参数化输入/输出#include <ios> //基本输入/输出支持#include <iosfwd> //输入/输出系统使用的前置声明#include <iostream> //数据流输入/输出#include <istream> //基本输入流#include <iterator> //STL迭代器#include <ostream> //基本输出流#include <queue> //STL 队列容器#include <set> //STL 集合容器#include <sstream> //基于字符串的流#include <stack> //STL 堆栈容器#include <stdexcept> //标准异常类#include <streambuf> //底层输入/输出支持#include <string> //字符串类#include <typeinfo> //运行期间类型信息#include <utility> //STL 通用模板类#include <valarray> //对包含值的数组的操作#include <vector> //STL 动态数组容器————————————————————————————————C99增加的部分#include <complex.h> //复数处理#include <fenv.h> //浮点环境#include <inttypes.h> //整数格式转换#include <stdbool.h> //布尔环境#include <stdint.h> //整型环境#include <tgmath.h> //通用类型数学宏头文件 ctype.h字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换----------------------------------------字符测试是否字母和数字 isalnum是否字母 isalpha是否控制字符 iscntrl是否数字 isdigit是否可显示字符(除空格外) isgraph是否可显示字符(包括空格) isprint是否既不是空格,又不是字母和数字的可显示字符 ispunct是否空格 isspace是否大写字母 isupper是否16进制数字(0-9,A-F)字符 isxdigit字符大小写转换函数转换为大写字母 toupper转换为小写字母 tolower头文件 local.h地区化: 本类别的函数用于处理不同国家的语言差异。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C标准库C标准库 (1)1 输入与输出 <stdio.h> (1)2 字符类测试 <ctype.h> (19)3 字符串函数 <string.h> (22)4 数学函数 <math.h> (29)5 实用函数 <stdlib.h> (35)6 诊断 <assert.h> (43)7 变长变元表 <stdarg.h> (44)8 非局部跳转 <setjmp.h> (45)9 信号处理 <signal.h> (46)10 日期与时间函数 <time.h> (48)11 由实现定义的限制 <limits.h>和 <float.h> (52)本文包括大部分C标准库函数,但没有列出一些用途有限的函数以及某些可以简单的从其他函数合成的函数,也没有包含多字节和本地化函数。

标准库中的各个函数、类型以及宏分别在以下标准头文件中说明:1 输入与输出<stdio.h>头文件<stdio.h>定义了用于输入和输出的函数、类型和宏。

最重要的类型是用于声明文件指针的FILE。

另外两个常用的类型是size_t和fpos_t,size_t是由运算符sizeof产生的无符号整类型;fpos_t类型定义能够唯一说明文件中的每个位置的对象。

由头部定义的最有用的宏是EOF,其值代表文件的结尾。

1.1 文件操作1.1.1 fopen打开以filename所指内容为名字的文件,返回与之关联的流。

mode决定打开的方式,可选值如下:后六种方式允许对同一文件进行读和写,要注意的是,在写操作和读操作的交替过程中,必须调用fflush()或文件定位函数如fseek()、fsetpos()、rewind()等。

文件名filename的长度最大为FILENAME_MAX个字符,一次最多可打开FOPEN_MAX个文件(在<stdio.h>中定义)。

1.1.2 freopen对输出流(写打开),fflush()用于将已写到缓冲区但尚未写出的全部数据都写到文件中;对输入流,其结果未定义。

如果写过程中发生错误则返回EOF,正常则返回0。

fflush(NULL)用于刷新所有的输出流。

程序正常结束或缓冲区满时,缓冲区自动清仓。

1.1.4 fclose刷新stream的全部未写出数据,丢弃任何未读的缓冲区内的输入数据并释放自动分配的缓冲区,最后关闭流。

1.1.5 remo v e删除文件filename。

1.1.6 rename把文件的名字从oldfname改为newfname。

1.1.7 tmpfile以方式"wb+"创建一个临时文件,并返回该流的指针,该文件在被关闭或程序正常结束时被自动删除。

1.1.8 tmpnam若参数s为NULL(即调用tmpnam(NULL)),函数创建一个不同于现存文件名字的字符串,并返回一个指向一内部静态数组的指针。

若s非空,则函数将所创建的字符串存储在数组s中,并将它作为函数值返回。

s中至少要有L_tmpnam个字符的空间。

tmpnam函数在每次被调用时均生成不同的名字。

在程序的执行过程中,最多只能确保生成T MP_MAX个不同的名字。

注意tmpnam函数只是用于创建一个名字,而不是创建一个文件。

1.1.9 set v buf控制流stream的缓冲区,这要在读、写以及其他任何操作之前设置。

如果buf非空,则将buf指向的区域作为流的缓冲区,如果buf为NULL,函数将自行分配一个缓冲区。

size决定缓冲区的大小。

mode指定缓冲的处理方式,有如下值:•_IOF B F,进行完全缓冲;•_IOL B F,对文本文件表示行缓冲;•_IOLNF,不设置缓冲。

1.1.10 setbuf如果buf为NULL,则关闭流stream的的缓冲区;否则setbuf函数等价于:(v oid)set v buf(stream, buf, _IOF B F, B UF S I Z)。

注意自定义缓冲区的尺寸必须为B UF S I Z个字节。

1.2 格式化输出1.2.1 fprintf按照format说明的格式把变元表中变元内容进行转换,并写入stream指向的流。

格式化字符串由两种类型的对象组成:普通字符(它们被拷贝到输出流)与转换规格说明(它们决定变元的转换和输出格式)。

每个转换规格说明均以字符%开头,以转换字符结束。

如果%后面的字符不是转换字符,那么该行为是未定义的。

转换字符列表如下:在%与转换字符之间依次可以有下列标记:在格式串中字段宽度和精度二者都可以用*来指定,此时该值可通过转换对应的变元来获得,这些变元必须是int类型。

1.2.2 printfprintf(...)等价于fprintf(stdout, ...)。

1.2.3 sprintf与printf()基本相同,但输出写到字符数组buf而不是stdout中,并以'\0'结束。

注意,sprintf()不对buf进行边界检查,buf必须足够大,以便能装下输出结果。

1.2.4 snprintf除了最多为num-1个字符被存放到buf指向的数组之外,snprintf()和sprintf()完全相同。

数组以'\0'结束。

该函数不属于C89(C99增加的),但应用广泛,所以将其包括了进来。

1.2.5v printf1.2.6v fprintf1.2.7v sprintf1.2.8v snprintf在格式串format的控制下从流stream中读入字符,把转换后的值赋给后续各个变元,在此每一个变元都必须是一个指针。

当格式串format结束时函数返回。

格式串format通常包含有用于指导输入转换的转换规格说明。

格式串中可以包含:•空格或制表符,他们将被忽略;•普通字符(%除外),与输入流中下一个非空白字符相匹配;•转换规格说明:由一个%、一个赋值屏蔽字符*(可选)、一个用于指定最大字段宽度的数(可选)、一个用于指定目标字段的字符h/l/L(可选)、一个转换字符组成。

转换规格说明决定了输入字段的转换方式。

通常把结果保存在由对应变元指向的变量中。

然而,如果转换规格说明中包含有赋值屏蔽字符*,例如%*s,那么就跳过对应的输入字段,不进行赋值。

输入字段是一个由非空白符组成的字符串,当遇到空白符或到达最大字段宽(如果有的话)时,对输入字段的读入结束。

这意味着scanf函数可以跨越行的界限来读入其输入,因为换行符也是空白符(空白符包括空格、横向制表符、纵向制表符、换行符、回车符和换页符)。

转换字符列表如下:字段类型字符:•如果变元是指向short类型而不是int类型的指针,那么在d/i/n/o/u/x这几个转换字符前可以加上字符h;•如果变元是指向long类型的指针,那么在d/i/n/o/u/x这几个转换字符前可以加上字符l;•如果变元是指向double类型而不是float类型的指针,那么在e/f/g这几个转换字符前可以加上字符l;•如果变元是指向long double类型的指针,那么在e/f/g前可以加上字符L。

1.3.2 scanfscanf(...)等价于fscanf(stdin, ...)。

1.3.3 sscanf与scanf()基本相同,但sscanf()从buf指向的数组中读,而不是stdin。

1.4 字符输入输出函数1.4.1 fgetc以unsigned char类型返回输入流stream中下一个字符(转换为int类型)。

如果到达文件末尾或发生错误,则返回EOF。

1.4.2 fgets从流stream中读入最多num-1个字符到数组str中。

当遇到换行符时,把换行符保留在str 中,读入不再进行。

数组str以'\0'结尾。

1.4.3 fputc把字符ch(转换为unsigned char类型)输出到流stream中。

1.4.4 fputs把字符串str输出到流stream中,不输出终止符'\0'。

1.4.5 getcgetc()与fgetc()等价。

不同之处为:当getc函数被定义为宏时,它可能多次计算stream 的值。

1.4.6 getchar等价于getc(stdin)。

1.4.7 gets从stdin中读入下一个字符串到数组str中,并把读入的换行符替换为字符'\0'。

gets()可读入无限多字节,所以要保证str有足够的空间,防止溢出。

1.4.8 putcputc()与fputc()等价。

不同之处为:当putc函数被定义为宏时,它可能多次计算stream 的值。

1.4.9 putchar等价于putc(ch, stdout)。

1.4.10 puts把字符串str和一个换行符输出到stdout。

1.4.11 ungetc把字符ch(转换为unsigned char类型)写回到流stream中,下次对该流进行读操作时,将返回该字符。

对每个流只保证能写回一个字符(有些实现支持回退多个字符),且此字符不能是EOF。

1.5直接输入输出函数1.5.1 fread从流stream中读入最多count个长度为size个字节的对象,放到buf指向的数组中。

返回值可能小于指定读入数,原因可能是出错,也可能是到达文件尾。

实际执行状态可用feof()或ferror()确定。

1.5.2 fwrite把buf指向的数组中count个长度为size的对象输出到流stream中,并返回被输出的对象数。

如果发生错误,则返回一个小于count的值。

1.6 文件定位函数1.6.1 fseek对流stream相关的文件定位,随后的读写操作将从新位置开始。

对于二进制文件,此位置被定位在由origin开始的offset个字符处。

origin的值可能为S EE K_S E T(文件开始处)、S EE K_CU R(当前位置)或S EE K_EN D(文件结束处)。

对于文本流,offset心须为0,或者是由函数ftell()返回的值(此时origin的值必须是S EE K_S E T)。

1.6.2 ftell返回与流stream相关的文件的当前位置。

出错时返回-1L。

1.6.3 rewindrewind(fp)等价于fssek(fp, 0L, S EE K_S E T)与clearerr(fp)这两个函数顺序执行的效果,即把与流stream相关的文件的当前位置移到开始处,同时清除与该流相关的文件尾标志和错误标志。

1.6.4 fgetpos把流stream的当前位置记录在*position中,供随后的fsetpos()调用时使用。

相关文档
最新文档