附录6 Turbo C常用库函数
本附录列出了一些Turbo C常用的库函数。如果需要更多的库函数可以查阅《C库函数集》,也可以到互联网上下载“C库函数查询器”软件进行查询。
一、输入/输出函数
使用下列库函数要求在源文件中包含头文件“stdio.h”。
函数名 | 函数与形参类型 | 功能 | 说明 |
clearerr | void clearerr(FILE *fp); | 清除文件指针错误。 | |
close | int close(FILE *fp); | 关闭文件指针fp指向的文件,成功,返回0,不成功,返回-1 | 非ANSI标准 |
creat | int creat(char filename,int mode); | 以mode所指定的方式建立文件。成功则返回正数,否则返回-1。 | 非ANSI标准 |
eof | int eof(int fd); | 检查文件是否结束。遇文件结束,返回1,否则返回0。 | 非ANSI标准 |
fclose | int fclose(FILE *fp); | 关闭文件指针fp所指向的文件,释放缓冲区。有错误返回非0,否则返回0。 | |
feof | int feof(FILE *fp); | 检查文件是否结束。遇文件结束符返回非零值,否则返回0。 | |
fgetc | int fgetc(FILE *fp); | 返回所得到的字符。若读入出错,返回EOF。 | |
fgets | char *fgets(char *buf,int n,FILE *fp); | 从fp指向的文件读取一个长度为(n-1)的字符串,存放起始地址为buf的空间。成功返回地址buf,若遇文件结束或出错,返回NULL | |
fopen | FILE *fopen(char *filename,char *mode); | 以mode指定的方式打开名为filename的文件。成功时返回一个文件指针,否则返回NULL | |
fprintf | int fprintf(FILE *fp,char *format,args,…); | 把args的值以format指定的格式输出到fp指向的文件中。 | |
fputc | int fputc(char ch,FILE *fp); | 将字符ch输出到fp指向的文件中。成功则返回该字符,否则返回非0。 | |
fputs | int fputs(char *str,FILE *fp); | 将str指向的字符串输出到fp指向的文件中。成功则返回0,否则返回非0。 | |
fread | int fread(char *pt,unsigned size,unsigned n,FILE *fp); | 从fp指向的文件中读取长度为size的n个数据项,存到pt指向的内存区。成功则返回所读的数据项个数,否则返回0。 | |
fscanf | int fscanf(FILE *fp,char format,args,…); | 从fp指向的文件中按format给定的格式将输入数据送到args所指向的内存单元。 | |
fseek | int fseek(FILE *fp,long offset,int base); | 将fp指向的文件的位置指针移到以base所指出的位置为基准,以offset为位移量的位置。成功则返回当前位置,否则返回-1。 | |
ftell | long ftell(FILE *fp); | 返回fp所指向的文件中的当前读写位置。 | |
fwrite | int fwrite(char *ptr,unsigned size,unsigned n,FILE *fp); | 将ptr所指向的n*size个字节输出到fp所指向的文件中。返回写到fp文件中的数据项个数。 | |
getc | int getc(FILE *fp); | 从fp所指向的文件中读入一个字符。返回所读的字符,若文件结束或出错,返回EOF。 | |
getchar | int getchar(void); | 从标准输入设备读取下一个字符。返回所读字符,若文件结束或出错,则返回-1。 | |
gets | char *gets(char *str); | 从标准输入设备读取字符串,存放由str指向的字符数组中。返回字符数组起始地址。 | |
getw | int getw(FILE *fp); | 从fp指向的文件读取下一个字(整数)。返回输入的整数,若遇文件结束或出错,返回-1。 | 非ANSI标准函数 |
open | int open(char *filename,int mode); | 以mode指出的方式打开已存在的名为filename的文件。返回文件号(正数),如打开失败,返回-1。 | 非ANSI标准函数 |
printf | int printf(char *format,args,…); | 按format指向的格式字符串所规定的格式,将输出表列args的值输出到标准输出设备。返回输出字符的个数,出错返回负数。 | format是一个字符串或字符数组的起始地址 |
putc | int putc(int ch,FILE *fp); | 将一个字符ch输出到fp所指的文件中。返回输出的字符ch,出错返回EOF。 | |
putchar | int putchar(char ch); | 将字符ch输出到标准输出设备。返回输出的字符ch,出错返回EOF。 | |
puts | int puts(char *str); | 把str指向的字符串输出到标准输出设备,将’\0’转换为回车换行。返回换行符,失败返回EOF | |
putw | int putw(int w,FILE *fp); | 将一个整数w(即一个字)写入fp指向的文件中。返回输出的的整数,出错返回EOF。 | 非ANSI标准函数 |
read | int read(int fd,char *buf,unsigned count); | 从文件号fd所指示中读count个字节到由buf指示的缓冲区中。返回真正读入的字节个数。如遇文件结束返回0,出错返回-1。 | 非ANSI标准函数 |
rename | int rename(char *oldname,char *newname); | 把由oldname所指的文件名,改为由newname所指的文件名。成功时返回0,出错返回-1。 | |
rewind | void rewind(FILE *fp); | 将fp指向的文件中的位置指针移到文件开头位置,并清除文件结束标志和错误标志。 | |
scanf | int scanf(char *format,args,…); | 从标准输入设备按format指向的格式字符串规定的格式,输入数据给args所指向的单元。成功时返回赋给args的数据个数,出错时返回0。 | args为指针 |
write | int write(int fd,char *buf,unsigned count); | 从buf指示的缓冲区输出count个字符到fd所标志的文件中。返回实际输出的字节数。如出错返回-1。 | 非ANSI标准函数 |
二、数学函数
使用下列库函数要求在源文件中包含头文件“math.h”。
函数名 | 函数与形参类型 | 功能 | 说明 |
abs | int abs(int x); | 计算并返回整数x的绝对值 | |
acos | double acos(double x); | 计算并返回arccos(x)的值 | 要求x在1和-1之间 |
asin | double asin(double x); | 计算并返回arcsin(x)的值 | 要求x在1和-1之间 |
atan | double atan(double x); | 计算并返回arctan(x)的值 | |
atan2 | double atan2(double x,double y); | 计算并返回arctan(x/y)的值 | |
atof | double atof(char *nptr); | 将字符串转化为浮点数 | |
atoi | int atoi(char *nptr); | 将字符串转化为整数 | |
atol | long atoi(char *nptr); | 将字符串转化为长整形数 | |
cos | double cos(double x); | 计算cos(x)的值 | x为单位弧度 |
cosh | double cosh(double x); | 计算双曲余弦cosh(x)的值 | |
exp | double exp(double x); | 计算ex的值 | |
fabs | double fabs(double x); | 计算x的绝对值 | x为双精度数 |
floor | double floor(double x); | 求不大于x的最大双精度整数 | |
fmod | double fmod(double x,double y); | 计算x/y后的余数 | |
frexp | double frexp(double val,double *eptr); | 将val分解为尾数x,以2为底的指数n,即val=x*2n,n存放到eptr所指向的变量中 | 返回尾数x, x在0.5与1之间 |
labs | long labs(long x); | 计算并返回长整型数x的绝对值。 | |
log | double log(double x); | 计算并返回自然对数值ln(x) | x>0 |
log10 | double log10(double x); | 计算并返回常用对数值log10(x) | x>0 |
modf | double modf(double val,double *iptr); | 将双精度数分解为整数部分和小数部分。小数部分作为函数值返回;整数部分存放在iptr指向的双精度型变量中 | |
pow | double pow(double x,double y); | 计算并返回xy的值 | |
pow10 | double pow10(int x); | 计算并返回10x的值 | |
rand | int rand(void); | 产生-90到32767间的随机整数 | rand()%100就是返回100以内的整数 |
random | int random(int x); | 在0—x范围内随机产生一个整数 | 使用前必须用randomize函数 |
randomize | void randomize(void); | 初始化随机数发生器 | |
sin | double sin(double x); | 计算并返回正弦函数sin(x)的值 | x为单位弧度 |
sinh | double sinh(double x); | 计算并返回双曲正弦函数sinh(x)的值 | |
sqrt | double sqrt(double x); | 计算并返回x的平方根 | x要大于等于0 |
tan | double tan(double x); | 计算并返回正切值tan(x) | x为单位弧度 |
tanh | double tanh(double x); | 计算并返回双正切值tanh(x) | |
三、字符判别和转换函数
使用下列库函数要求在源文件中包含头文件“ctype.h”。
函数名 | 函数与形参类型 | 功能 | 说明 |
isalnum | int isalnum(int ch); | 检查ch是否为字母或数字 | 是,返回1,否则返回0 |
isalpha | int isalpha(int ch); | 检查ch是否为字母 | 是,返回1,否则返回0 |
isascii | int isascii(int ch); | 检查ch是否为ASCII字符 | 是,返回1,否则返回0 |
iscntrl | int iscntrl(int ch); | 检查ch是否为控制字符 | 是,返回1,否则返回0 |
isdigit | int isdigit(int ch); | 检查ch是否为数字 | 是,返回1,否则返回0 |
isgraph | int isgraph(int ch); | 检查ch是否为可打印字符,即不包括控制字符和空格 | 是,返回1,否则返回0 |
islower | int islower(int ch); | 检查ch是否为小写字母 | 是,返回1,否则返回0 |
isprint | int isprint(int ch); | 检查ch是否为可打印字符(含空格) | 是,返回1,否则返回0 |
ispunch | int ispunch(int ch); | 检查ch是否为标点符号 | 是,返回1,否则返回0 |
isspace | int isspace(int ch); | 检查ch是否为空格水平制表符('\t')、回车符('\r')、走纸换行('\f')、垂直制表符('\v')、换行符('\n') | 是,返回1,否则返回0 |
isupper | int isupper(int ch); | 检查ch是否为大写字母 | 是,返回1,否则返回0 |
isxdigit | int isxdigit(int ch); | 检查ch是否为十六进制数字 | 是,返回1,否则返回0 |
tolower | int tolower(int ch); | 将ch中的字母转换为小写字母 | 返回小写字母 |
toupper | int toupper(int ch); | 将ch中的字母转换为大写字母 | 返回大写字母 |
atof | double atof(const char *nptr); | 将字符串转换成浮点数 | 返回浮点数(double型) |
atoi | int atoi(const char *nptr) | 将字符串转换成整型数 | 返回整数 |
atol | long atol(const char *nptr); | 将字符串转换成长整型数 | 返回长整型数 |
四、字符串函数
使用下列库函数要求在源文件中包含头文件“string.h”。
函数名 | 函数与形参类型 | 功能 | 说明 |
strcat | char *strcat(char *str1,const char *str2); | 将字符串str2连接到str1后面 | 返回str1的地址 |
strchr | char *strchr(const char *str,int ch); | 出ch字符在字符串str中第一次出现的位置 | 返回ch的地址,若不到返回NULL |
strcmp | int strcmp(const char *str1,const char *str2); | 比较字符串str1和str2 | str1<str2 返回负数 str1=str2返回0 str1>str2返回正数 |
strcpy | char *strcpy(char *str1,const char *str2); | 将字符串str2复制到str1中 | 返回str1的地址 |
strlen | int strlen(const char *str); | 求字符串str的长度 | 返回str1包含的字符数(不含’\0’) |
strlwr | char *strlwr(char *str); | 将字符串str中的字母转换为小写字母 | 返回str的地址 |
strncat | char *strncat(char *str1,const char *str2,size_t count); | 将字符串str2中的前count个字符连接到str1后面 | 返回str1的地址 |
strncpy | char *strncpy(char *dest,const char *source,size_t count); | 将字符串str2中的前count个字符复制到str1中 | 返回str1的地址 |
strstr | char *strstr(const char *str1,const char *str2); | 出字符串str2的字符串str中第一次出现的位置 | 返回str2的地址,不到返回NULL |
strupr | char *strupr(char *str); | 将字符串str中的字母转换为大写字母 | 返回str的地址 |
四、动态分配存储空间函数
使用下列库函数要求在源文件中包含头文件“stdlib.h”。
函数名 | 函数与形参类型 | 功能 | 说明 |
calloc | void *calloc(size_t num, size_t size); | 为num个数据项分配内存,每个数据项大小为size个字节。 | 返回分配的内存空间起始地址,分配不成功返回0 |
free | void *free(void *ptr); | 释放ptr指向的内存单元 | |
malloc | void *malloc(size_t size); | 分配size个字节的内存 | 返回分配的内存空间起始地址,分配不成功返回0 |
reallc | void *realloc(void ptr,size_t newsize); | 将ptr指向的内存空间改为newsize字节 | 返回新分配的内存空间起始地址,分配不成功返回0 |
trunc函数类型ecvt | char ecvt(double value,int ndigit,int *decpt,int *sign); | 将一个浮点数转换为字符串 | |
fcvt | char *fcvt(double value,int ndigit,int *decpt,int *sign); | 将一个浮点数转换为字符串 | ndigit存储的有效数字位数。 |
gcvt | char *gcvt(double value,int ndigit,char *buf); | 将浮点数转换成字符串 | ndigit存储的有效数字位数。 |
itoa | char *itoa(int value,char *string,int radix); | 将一整型数转换为字符串 | |
strtod | double strtod(char *str,char **endptr); | 将字符串转换为double型 | |
strtol | long strtol(char *str,char **endptr,int base); | 将字符串转换为长整型数 | |
ultoa | char *ultoa(unsigned long value,char *string,int radix); | 将无符号长整型数转换为字符串 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论