C语言标准库函数.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言标准库函数.pdf》由会员分享,可在线阅读,更多相关《C语言标准库函数.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 标准库函数 本附录描述了标准C支持的库函数。使用此附录时,请记住下列要点。 ? 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示例) ,请见函数描述右下角用楷体列出的节号。 ? 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。 (例如, calloc函数和realloc函数与malloc函数 “类似” ,而free函
2、数则与malloc函数“相关” 。 )也可参见的函数和在描述的函数没有紧密联系,但是却可能有影响。 ? 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。 (换句话说,请参考手册了解可能发生的问题。 )另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统不同而不同,而且程序也可能会行为异常甚至崩溃。 ? 中许多函数的描述提到了定义域错误和取值范围错误。在本附录的末尾对这两种错误进行了定义。 ? 下列库函数的行为是会受到当前地区影响的: ? 字符处理函数(除了isdigit函数和isx
3、digit函数) 。 ? 格式化输入/输出函数。 ? 多字节字符和字符串函数。 ? 字符串转换函数。 ? Strcoll函数、strftime函数和strxfrm函数。 例如,isalpha函数实际上检测字符是否在a到z之间或者在A到Z之间。在某些区域内也把其他字符看成是字母次序的。本附录描述了在C(默认的)地区内库函数的行为。 ? 一些函数实际上是宏。然而,这些宏的用法和函数完全一样,所以这里不对它们区别对待。 abort 异常终止程序 void abort(void); 产生SIGABRT信号。如果无法捕获信号(或者如果信号处理函数返回) ,那么程序会异常终止,并且返回由实现定义的代码来说
4、明不成功的终止。是否清洗输出缓冲区,是否关闭打开的流,以及是否移除临时文件都是由实现定义的。 相似函数 exit函数、raise函数 相关函数 assert函数、signal函数 也可参见 atexit函数 26.2节 abs 整数的绝对值 int abs(int j); 返回 整数j的绝对值。如果不能表示j的绝对值,那么函数的行为是未定义的。 这些材料经ANSI许可改编自American National Standards Institude ANSI/ISO 98991990。这个标准的副本可从ANSI购买(ANSI, 11 West 42nd Street, New York, NY
5、10036) 。 附录D 601 附录 D 标准库函数 419 相似函数 fabs函数、labs函数 26.2节 acos 反余弦 double acos(double x); 返回 x的反余弦值。返回值的范围在0到之间。如果x的值不在1到+1之间,那么就会发生定义域错误。 相关函数 asin函数、atan函数、atan2函数、cos函数、sin函数、tan函数 23.3节 asctime 把日期和时间转换成ASCII码 char *asctime(const struct tm *timeptr); 返回 指向以空字符结尾的字符串的指针,其格式如下所示: Mon Jul 15 12:30:4
6、5 1996n 此格式的构造来源于timeptr指向的结构中的分解时间。 相似函数 ctime函数、strftime函数 相关函数 diffime函数、gmtime函数、localtime函数、mktime函数、time函数 26.3节 asin 反正弦 double asin(double x); 返回 x的反正弦值。返回值的范围在-/2到/2之间。如果x的值不在-1到+1之间,那么就会发生定义域错误。 相关函数 acos函数、atan函数、atan2函数、cos函数、sin函数、tan函数 23.3节 asserrt 诊断表达式的真值 void assert(int expression)
7、; 如果expression的值非零, 那么assert函数什么也不做。 如果expression的值为零,那么assert函数向stderr写信息(说明expression的文本,含有assert函数的源文件名,以及assert函数的行数) ,然后通过调用abort函数终止程序。为了使assert函数无效,要在包含之前定义宏NDEBUG。 相关函数 abort函数 24.1节 atan 反正切 double atan(double x); 返回 x的反正切值。返回值的范围在/2到/2之间。 相似函数 atan2函数 相关函数 acos函数、asin函数、cos函数、sin函数、tan函数 2
8、3.3节 atan2 商的反正切 double atan2(double y, double x); 返回 y/x的反正切值。返回值的范围在到之间。如果x和y的值都为零,那么就会发生定义域错误。 相似函数 atan函数 相关函数 acos函数、asin函数、cos函数、sin函数、tan函数 23.3节 atexit 在程序退出处注册要调用的函数 int atexit(void (*func)(void); 注册由func指向的函数作为终止函数。如果程序正常终止(通过return或exit,而不是abort) ,那么将调用函数。可以重复调用atexit函数来注册多个终止函数。最后一个注册的函数
9、将是在终止前第一个被调用的函数。 返回 如果成功,返回零。如果不成功,则返回非零(达到由实现定义的限制) 。 相关函数 exit函数 也可参见 abort函数 26.2节 atof 把字符串转换成浮点数 602603420 附录 D 标准库函数 double atof(const char *nptr); 返回 对应字符串最长初始部分的double型值,此字符串是由nptr指向的,且字符串最长初始部分具有浮点数的格式。如果无法表示此数,那么函数的行为将是未定义的。 相似函数 strtod函数 相关函数 atoi函数、atol函数 也可参见 strtol函数、strtoul函数 26.2节 at
10、oi 把字符串转换成整数 int atoi(const char *nptr); 返回 对应字符串最长初始部分的整数,此字符串是由nptr指向的,且字符串最长初始部分具有整数的格式。如果无法表示此数,那么函数的行为将是未定义的。 相似函数 atol函数、strtol函数、strtoul函数 相关函数 atof函数 也可参见 strtod函数 26.2节 atol 把字符串转换成长整数 long int atol(const char *nptr); 返回 对应字符串最长初始部分的长整数,此字符串是由nptr指向的,且字符串最长初始部分具有整数的格式。如果无法表示此数,那么函数的行为将是未定义的
11、。 相似函数 atoi函数、strtol函数、strtoul函数 相关函数 atof函数 也可参见 strtod函数 26.2节 bsearch 二分检索 void *bsearch(const void *key, const void *base, size_t memb, size_t size, int (*compar)(const void *, const void *); 在有序数组中搜索由key指向的值。其中,数组存储在base地址上,且此数组有nmemb个元素,每个元素大小为size个字节。compar指向“比较函数” 。换句话说当传递指向关键字的指针和数组元素时,比较函数
12、必须返回负整数、零或正整数,这主要依赖于关键字是小于、等于还是大于数组元素。 返回 指向数组元素的指针,此数组元素是用来测试是否等于关键字的。如果没有找到关键字,那么返回空指针。 相关函数 qsort函数 26.2节 calloc 分配并清除内存块 void *calloc(size_t nmemb, size_t size); 为带有nmemb个元素的数组分配内存块,其中每个数组元素占size个字节。通过设置所有位为零来清除内存块。 返回 指向内存块开始处的指针。如果不能分配所要求大小的内存块,那么返回空指针。 相似函数 malloc函数、realloc函数 相关函数 free函数 17.3
13、节 ceil 上整数 double ceil(double x); 返回 大于或等于x的最小整数。 相似函数 floor函数 23.3节 clearerr 清除流错误 void clearerr(FILE *stream); 为stream指向的流清除文件尾指示器和错误指示器。 相关函数 feof函数、ferror函数、rewind函数 22.3节 604 605 附录 D 标准库函数 421 clock 处理器时钟 clock_t clock(void); 返回 从程序开始执行起所经过的处理器时间(按照“时钟嘀嗒”来衡量的) 。 (用CLOCKS_PER_SEC除以此时间来转换成秒。 )如果
14、时间无效或者无法表示,那么返回(clock_t)-1。 相似函数 time函数 也可参见 difftime函数 26.3节 cos 余弦 double cos(double x); 返回 x的余弦值(按照弧度衡量的) 。 也可参见 acos函数、asin函数、atan函数、atan2函数、sin函数、tan函数 23.3节 cosh 双曲余弦 double cosh(double x); 返回 x的双曲余弦值。如果x的数过大,那么可能会发生取值范围错误。 相关函数 sinh函数、tanh函数 也可参见 acos函数、asin函数、atan函数、atan2函数、cos函数、sin函数、 tan函
15、数 23.3节 ctime 把日期和时间转换成字符串 char *ctime(const time_t *timer); 返回 指向字符串的指针,此字符串描述了本地时间,此时间等价于timer指向的日历时间。等价于asctime(localtime(timer)。 相似函数 asctime函数、strftime函数 相关函数 difftime函数、gmtime函数、localtime函数、mktime函数、time函数 26.3节 difftime 时间差 double difftime(time_t time1, time_t time0); 返回 time0(较早的时间)和time1之间的
16、差值,此值按秒来衡量。 相关函数 asctime函数、 ctime函数、 gmtime函数、 localtime函数、 mktime函数、 strftime函数、time函数 也可参见 clock函数 26.3节 div 整数除法 div_t div(int numer, int denom); 返回 含有quot(numer除以denom时的商)和rem(余数)的结构。如果无法表示结果,那么函数的行为是未定义的。 相似函数 ldiv函数 26.2节 exit 退出程序 void exit(int status); 调用所有用atexit函数注册的函数,清洗全部输出缓冲区,关闭所有打开的流,移
17、除任何由tmpfile产生的文件,并终止程序。status的值说明程序是否正常终止。status唯一可移植的值是0和EXIT_SUCCESS(两者都说明成功终止)以及EXIT_FAILURE(不成功的终止) 。status的其他值都是由实现定义的。 相似函数 abort函数 相关函数 atexit函数 9.5节、26.2节 exp 指数 double exp(double x); 返回 e的x次幂的值(即ex) 。如果x的数过大,那么可能会发生取值范围错误。 相似函数 pow函数 相关函数 log函数 606422 附录 D 标准库函数 也可参见 log10函数 23.3节 fabs 浮点数的
18、绝对值 double fabs(double x); 返回 x的绝对值。 相似函数 abs函数、labs函数 23.3节 fclose 关闭文件 int fclose(FILE *stream); 关闭由stream指向的流。清洗保留在流缓冲区内的任何未写的输出。如果是自动分配,那么就释放缓冲区。 返回 如果成功,就返回零。如果检测到错误,就返回EOF。 相关函数 fopen函数、freopen函数 也可参见 fflush函数 22.2节 feof 检测文件末尾 int feof(FILE *stream); 返回 如果为stream指向的流设置了文件尾指示器,那么返回非零值。否则返回零。 相
19、似函数 ferror函数 相关函数 clearerr函数、fseek函数、rewind函数 22.3节 ferror 检测文件错误 int ferror(FILE *stream); 返回 如果为stream指向的流设置了文件错误指示器,那么返回非零值。否则返回零。 相似函数 feof函数 相关函数 clearerr函数、rewind函数 22.3节 fflush 清洗文件缓冲区 int fflush(FILE *stream); 把任何未写入的数据写到和stream相关的缓冲区中,其中stream指向用于输出或更新的已打开的流。如果stream是空指针,那么fflush函数清洗存储在缓冲区中
20、的所有未写入的流。 返回 如果成功就返回零。如果检测到错误,就返回EOF。 也可参见 fclose函数、setbuf函数、setvbuf函数 22.2节 fgetc 从文件中读取字符 int fgetc(FILE *stream); 从stream指向的流中读取字符。 返回 读到的字符。如果fgetc函数遇到流的末尾,则设置流的文件尾指示器并且返回EOF。如果读取发生错误,fgetc函数设置流的错误指示器并且返回EOF。 相似函数 getc函数、getchar函数 相关函数 fputc函数、putc函数、ungetc函数 也可参见 putchar函数 22.4节 fgetpos 获得文件位置
21、int fgetpos(FILE *stream, fpos_t *pos); 把stream指向的流的当前位置存储到pos指向的对象中。 返回 如果成功就返回零。如果调用失败,则返回非零值,并且把由实现定义的错误码存储到errno中。 相似函数 ftell函数 相关函数 fsetpos函数 也可参见 fseek函数、rewind函数 22.7节 fgets 从文件中读取字符串 char *fgets(char *s, int n, FILE *stream); 607 608 附录 D 标准库函数 423 从stream指向的流中读取字符,并且把读入的字符存储到s指向的数组中。遇到第一个换行
22、符已经读取了n-1个字符,或到了文件末尾时,读取操作都会停止。fgets函数会在字符串后添加一个空字符。 返回 s(指向数组的指针,此数组存储着输入) 。如果读取操作错误或fgets函数在存储任何字符之前遇到了流的末尾,都会返回空指针。 相似函数 gets函数 相关函数 fputs函数 也可参见 puts函数 22.5节 floor 向下取整 double floor(double x); 返回 小于或等于x的最大整数。 相似函数 ceil函数 23.3节 fmod 浮点模数 double fmod(double x, double y); 返回 x除以y的余数。如果y为零,是发生定义域错误还
23、是fmod函数返回零是由实现定义的。 也可参见 div函数、ldiv函数 23.3节 fopen 打开文件打开文件 FILE *fopen(const char *filename, const char *mode); 打开文件以及和它相关的流,文件名是由filename指向的。mode说明文件打开的方式。为流清除错误指示器和文件尾指示器。 返回 文件指针。 在执行下一次关于文件的操作时会用到此指针。 如果无法打开文件则返回空指针。 相似函数 freopen函数 相关函数 fclose函数、setbuf函数、setvbuf函数 22.2节 fprintf 格式化写文件 int fprintf
24、(FILE *stream, const char *format, .); 向stream指向的流写输出。format指向的字符串说明了后续参数显示的格式。 返回 写入的字符数量。如果发生错误就返回负值。 相似函数 printf函数、sprintf函数、vfprintf函数、vprintf函数、vsprintf函数 相关函数 fscanf函数 也可参见 scanf函数、sscanf函数 22.3节 fputc 向文件写字符 int fputc(int c, FILE *stream); 把字符c写到stream指向的流中。 返回 c (写入的字符) 。 如果写发生错误, fputc函数会为s
25、tream设置错误指示器, 并且返回EOF。 相似函数 putc函数、putchar函数 相关函数 fgetc函数、getc函数 也可参见 getchar函数 22.4节 fputs 向文件写字符串 int fputs(const char *s, FILE *stream); 把s指向的字符串写到stream指向的流中。 返回 如果成功,返回非负值。如果写发生错误,则返回EOF。 相似函数 puts函数 相关函数 fgets函数 也可参见 gets函数 22.5节 fread 从文件读块 size_t fread(void *ptr, size_t size, size_t nmemb, F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 标准 库函数
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内