常用C语言标准库函数
C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。
1.测试函数
Isalnum
原型:int isalnum(int c)
功能:测试参数c是否为字母或数字:是则返回非零;否则返回零
头文件:ctype.h
Isapha
原型:int isapha(int c)
功能:测试参数c是否为字母:是则返回非零;否则返回零
头文件:ctype.h
Isascii
原型:int isascii(int c)
功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零
头文件:ctype.h
Iscntrl
原型:int iscntrl(int c)
功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.h
Isdigit
原型:int isdigit(int c)
功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.h
Isgraph
原型:int isgraph(int c)
功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零
头文件:ctype.h
Islower
原型:int islower(int c)
功能:测试参数c是否为小写字母:是则返回非零;否则返回零
头文件:ctype.h
Isprint
原型:int isprint(int c)
功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零
头文件:ctype.h
Ispunct
原型:int ispunct(int c)
功能:测试参数c是否为标点符号:是则返回非零;否则返回零
头文件:ctype.h
Isupper
原型:int isupper(inr c)
功能:测试参数c是否为大写字母:是则返回非零;否则返回零
Isxdigit
原型:int isxdigit(int c)
功能:测试参数c是否为十六进制数:是则返回非零;否则返回零
2.数学函数
abs
原型:int abs(int i)
功能:返回整数型参数i的绝对值
头文件:stdlib.h,math.h
acos
原型:double acos(double x)
功能:返回双精度参数x的反余弦三角函数值
头文件:math.h
asin
原型:double asin(double x)
功能:返回双精度参数x的反正弦三角函数值
头文件:math.h
atan
原型:double atan(double x)
功能:返回双精度参数的反正切三角函数值
头文件:math.h
atan2
原型:double atan2(double y,double x)
功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值
头文件:math.h
cabs
原型:double cabs(struct complex znum)
功能:返回一个双精度数,为计算出复数znum的绝对值。Complex的结构模式在math.h 中给出定义,其定义如下:
struct complex {
double a,y
};
头文件:stdlib.h,math.h
ceil
原型:double ceil(double x)
功能:返回不小于参数x的最小整数
头文件:math.h
_clear87
原型:unsigned int _clear87(void)
功能:清除浮点运算器状态字
头文件:float.h
_control87
原型:unsigned int _control87(unsigned int newvals,unsigned int mask)功能:取得或改变浮点运算器控制字
头文件:float.h
cos
原型:double cos(double x)
功能:返回参数x的余弦函数值
头文件:math.h
cosh
原型:double cosh(double x)
功能:返回参数的双曲线余弦函数值
头文件:math.h
ecvt
原型:char*ecvt(double value,int ndigit,int*decpt,int*sign)
功能:把双精度数value转换为ndigit位数字的以空格字符结束的字符串,decpt 指向小数点位置,sign为符号标志。函数返回值为指向转换后的字符串的指针头文件:stdlib.h
exp
原型:double exp(double x)
功能:返回参数x的指数函数值
头文件:math.h
fabs
原型:double fabs(double x)
功能:返回参数x的绝对值
头文件:math.h
floor
原型:double floor(double x)
功能:返回不大于参数x的最大整数
头文件:math.h
fmod
原型:double fmod(double x,double y)
功能:计算x/y的余数。返回值为所求的余数值
头文件:math.h
_fprest
原型:void _fprest(void)
功能:重新初始化浮点型数数学包
头文件:float.h
frexp
原型:double frexp(double value,int*eptr)
功能:把双精度函数value分解成尾数和指数。函数返回尾数值,指数值存放在eptr 所指的单元中
头文件:math.h
hypot
原型:double frexp(double x,double y)
功能:返回由参数x和y所计算的直角三角形的斜边长
头文件:math.h
labs
原型:long labs(long n)
功能:返回长整数型参数n的绝对值
头文件:stdlib.h
ldexp
原型:double ldexp(double value,int exp)
功能:返回value*2exp的值
头文件:math.h
log
原型:double log(double x)
功能:返回参数x的自然对数(ln x)的值
头文件:math.h
log10
原型:double log10(double x)
功能:返回参数x以10为底的自然对数(lg x)的值
头文件:math.h
modf
原型:double modf(double value,double*iptr)
功能:把双精度数value分为整数部分和小数部分。整数部分保存在iptr中,小数部分作为函数的返回值
头文件:math.h
poly
原型:double poly(double x,int n,double c[ ])
功能:根据参数产生x的一个n次多项式,其系数为 c[0],c[1],…c[n]。函数返回值为给定x的多项式的值
头文件:math.h
pow
原型:double pow(double x,double y)
功能:返回计算x y的值
头文件:math.h
pow10
原型:double pow10(int p)
功能:返回计算10p的值
头文件:math.h
rand
原型:int rand(void)
功能:随机函数,返回一个范围在0~215-1的随机整数
头文件:stdlib.h
sin
原型:double sin(double x)
功能:返回参数x的正弦函数值
头文件:math.h
sinh
原型double sinh(double x)
功能:返回参数x的双曲正弦函数值
头文件:math.h
sqrt
原型:double sqrt
功能:返回参数x的平方根值
头文件:math.h
srand
原型:void srand(unsigned seed)
功能:初始化随机函数发生器
头文件:stdlib.h
_status87
原型:unsigned int_status87()
功能:取浮点状态
头文件:float.h
tan
原型:dounle tan(double x)
功能:返回参数x的正切函数值
头文件:math.h
tanh
原型:double tan(double x)
功能:返回参数x的双曲正切函数值
头文件:math.h
3.转换函数
atof
原型:double atof(char*nptr)
功能:返回一双精度型数,由其nptr所指字符串转换而成
头文件:math.h,stdlib.h
atoi
原型:int atoi(char*nptr)
功能:返回一整数,其由nptr所指字符串转换而成
头文件:stdlib.h
atol
原型:long atol(char*nptr)
功能:返回一长整型数,其由nptr所指字符串转换而成
头文件:stdlib.h
fcvt
原型:char*fcvt(double value,int ndigit,int*decpt,int*sign)功能:fcvt与ecvt相似,将浮点型数转换成FORTRAN F 格式的字符串)
头文件:stdlib.h
gcvt
原型:char*gvct(double value,int ndigit,char*buf)
功能:把value转换为以空字符结尾、长度为ndigit的串,结果放在buf中,返回所得串的指针
头文件:stdlib.h
itoa
原型:char*gcvt(double value,char*string,int radix)
功能:把一个整形数value转换为字符串。即将value转换为以‘\o’结尾的串。
结果存在string中,radix为转换中数的基数,函数返回值为指向字符串string的指针
头文件:stdlib.h
strtod
原型:double strtod(char*str,char**endptr)
功能:把字符串str转化为双精度数。endptr不为空,则其为指向终止扫描的字符的指针。函数返回值为双精度数
头文件:string.h
strtol
原型:long strtol(char*str,char*endptr,int base)
功能:把字符串xtr转换为长整形数。endptr不为空,则其为指向终止扫描的字符指针。函数返回值为长整形数。参数base为要转换整数的基数
头文件:string.h
ultoa
原型:char*ultoa(unsigned long value,char*string,int radix)
功能:转换一个无符号长整型数value为字符串。即value转换为以‘\o’结尾的字符串,结果保存在string中1,radix为转换中数的基数,返回值为指向串string的指针
头文件:stdlib.h
4.串和内存操作函数
memccpy
原型:void*memccpy(void*destin,void*soure,unsigned char ch,unsignde n)功能:从源source中复制n个字节到目标destin中。复制直至第一次遇到ch中的字符为止(ch被复制)。函数返回值为指向destin中紧跟ch后面字符的地址或为NULL 头文件:string.h,mem.h
memchr
原型:void*memchr(void*s,char ch,unsigned n)
功能:在数组x的前n个字节中搜索字符ch。返回值为指向s中首次出现ch的指针位置。如果ch没有在s数组中出现。返回NULL
头文件:string.h,mem.h
memcmp
原型:void*mencmp(void*s1,void*s2,unsigned n)
功能:比较两个字符串s1和s2的前n个字符,把字节看成是无符号字符型。如果s1
头文件:string.h,mem.h
memcpy
原型:void*memcpy(void*destin,void*source,unsigned n)
功能:从源source中复制n个字节到目标destin中。
头文件:string.h,men.h
memicmp
原型:int*memicmp(void*s1,void*s2,unsigned n)
功能:比较两个串s1和s2的前n个字节,大小写字母同等看待。如果s1
头文件:string.h,mem.h
memmove
原型:void*memmove(void*destin,void*source,unsigned n)
功能:从源source中复制n个字节到目标destin中。返回一个指向destin的指针头文件:string.h,mem.h
memset
原型:void*memset(void*s,char ch,unsigned n)
功能:设置s中的前n个字节为ch中的值(字符)。返回一个指向s的指针
头文件:string.h,mem.h
setmem
原型:void setmem(void*addr,int len,char value)
功能:将len个字节的value值保存到存储区addr中
头文件:mem.h
strcat
原型:char*strcat(char*destin,const char*source)
功能:把串source复制连接到串destin后面(串合并)。返回值为指向destin的指针
头文件:string.h
strchr
原型:char*strchr(char*str,char c)
功能:查找串str中某给定字符(c中的值)第一次出现的位置:返回值为NULL时表示没有找到
头文件:string.h
strcmp
原型:int strcmp(char*str1,char*str2)
功能:把串str1与另一个串str2进行比较。当两字符串相等时,函数返回0;
str1
头文件:string.h
strcpy
原型:int*strcpy(char*str1,char*str2)
功能:把str2串复制到str1串变量中。函数返回指向str1的指针
头文件:string.h
strcspn
原型:int strcspn(char*str1,*str2)
功能:查找str1串中第一个出现在串str2中的字符的位置。函数返回该指针位置
头文件:string.h
strdup
原型:char*strdup(char*str)
功能:分配存储空间,并将串str复制到该空间。返回值为指向该复制串的指针
头文件:string.h
stricmp
原型:int stricmp(chat*str1,char*str2)
功能:将串str1与另一个串str2进行比较,不分字母大小写。返回值同strcmp
头文件:string.h
strlen
原型:unsigned strlen(char*str)
功能:计算str串的长度。函数返回串长度值
头文件:string.h
strlwr
原型:char*strlwr(char*str)
功能:转换str串中的大写字母为小写字母
头文件:string.h
strncat
原型:char*strncat(char*destin,char*source,int maxlen)
功能:把串source中的最多maxlen个字节加到串destin之后(合并)。函数返回指向已连接的串destin的指针
头文件:string.h
strncmp
原型:int strncmp(char*str1,char*str2,int maxlen)
功能:把串str1与串str2的头maxlen个字节进行比较。返回值同strcmp函数
头文件:string.h
strnset
原型:char*strnset(char*str,char ch,unsigned n)
功能:将串str中的前n个字节设置为一给定字符(中的值)
头文件:string.h
strpbrk
原型:char*strpbrk(char*str1,char*str2)
功能:查找给定字符串str1中的字符在字符串str2中第一次出出现的位置,返回位置指针。若未查到,则返回NULL
头文件:string.h
strrchr
原型:char*strrcgr(char*str,char c)
功能:吵着给定字符(c的值)在串str中的最后一次出现的位置。返回指向该位置的指针,若为查到,则返回NULL
头文件:string.h
strrev
原型:char*strrev(char*str)
功能:颠倒串str的顺序。函数返回颠倒顺序的串的指针
头文件:string.h
原型:char*strset(char*str,char c)
功能:把串中所有字节设置为给定字符(c的值)。函数返回串的指针
头文件:string.h
strspn
原型:int strspn(char*str1,char*str2)
功能:在串str1中找出第一次出现str2的位置。函数返回str2在str1中的位置数头文件:string.h
strstr
原型:char*strstr(char*str1,char*str2)
功能:查找串str2在串str1中首次出现的位置。返回指向该位置的指针。找不到匹配则返回空指针
头文件:string.h
strtok
原型:char*strtok(char*str1,char*str2)
功能:把串str1中的单词用str2所给出的一个或多个字符所组成的分隔符分开
头文件:string.h
strupr
原型:char*strupr(char*str)
功能:把串str中所有小写字母环卫大写。返回转换后的串指针
头文件:string.h
5.输入/输出函数
access
原型:int access(char*filename,int mode)
功能:确定filename所指定的文件是否存在及文件的存取权限。如果filename指向一目录,则返回该目录是否存在。mode权限值(00,0204,06);如果所要确定的存取权限是允许的,返回0;否则返回-1,并将全局变量errno置为:ENOENT路径名或文件名没有找到;EACCES权限不对
头文件:io.h
cgets
原型:char*cgets(char*string)
功能:从控制台读字符串给string。返回串指针
头文件:conio.h
chmod
原型:int chmod(char*filename,int permiss)
功能:改变文件的存取方式、读写权限。filenane为文件名,permiss为文件权限值;
函数返回值为-1时,表示出错。
头文件:io.h
clearer
原型:void clearerr(FILE*stream)
功能:复位stream所指流式文件的错误标志
头文件:stdio.h
原型:int close(int handle)
功能:关闭文件。handle为已打开的文件号;返回值为-1时表示出错
头文件:io.h
cprintf
原型:int cprintf(char*format[,argument,…])
功能:格式化输出至屏幕。*format为格式串;argument为输出参数;返回所输出的字符数
头文件:conio.h
cputs
原型:void cputs(char*string)
功能:写一字符串到屏幕。string为要输出的串
头文件:conio.h
creat
原型:int creat(char*filename,int permiss)
功能:创建一个新文件或重写一个已存在的文件。filename为文件名,permiss为权限。函数返回值为-1时,表示出错
头文件:io.h
cscanf
原型:int cscanf(char*format[,argumen,…])
功能:从控制台格式化输入。format为格式串,argument为输入参数;返回被正确转换和赋值的数据项数
头文件:conio.h
dup
原型:int dup(int handle)
功能:复制文件句柄(文件号)。handle为已打开的文件号
头文件:io.h
dup2
原型:int dup2(int oldhandle,int newhandle)
功能:复制文件句柄(文件号),即使newhandle文件号与oldhandle文件号指向同一文件
头文件:io.h
eof
原型int eof(int*handle)
功能(检测文件结束。handle为已打开的文件号。返回值为1时,表示文件结束;否则为0;-1表示出错
头文件:io.h
fclose
原型:int fclose(FILE*stream)
功能:关闭一个流。stream为流指针。返回EOF时,表示出错
头文件:stdio.h
fcloseall
原型:int fcloseall(void)
功能:关闭所有打开的流。返回EOF时,表示出错
feof
原型:int feof(FILE*stream)
功能:检测流上文件的结束标志。返回非0值时,表示文件结束
头文件:stdio.h
ferror
原型:int ferror(FILE*stream)
功能:检测流上的错误。返回0时,表示无错
头文件:stdio.h
fflush
原型:int fflush(FILE*stream)
功能:清除一个流。返回0时,表示成功
头文件:stdio.h
fgetc
原型:int fgect(FILE*stream)
功能:从流中读一个字符。返回EOF时,表示出错或文件结束。
头文件:stdio.h
fgetchar
原型:int fgechar(void)
功能:从stdin中读取字符。返回EOF时,表示出错或文件结束
头文件;stdio.h
fgets
原型:char*fgets(char*string,int n,FILE*stream)
功能:从流中读取一字符串。string为存串变量;n为读取字节个数;stream为流指针,返回EOF时,表示出错或文件结束。
头文件:stdio.h
filelength
原型:long filelength(int handle)
功能:取文件的度。handle为已打开的文件号;返回-1时,表示出错
头文件:io.h
fopen
原型:FILE*fopen(char*filename,char*type)
功能:打开一个流。filename为文件名;type为允许访问方式。返回指向打开文件夹的指针。
头文件:stdio.h
fprintf
原型:int fprintf(FILE*stream,char*format[,argument,…]
功能:传送格式化输出到一个流。strem为流指针;format为格式串;argument为输出参数
头文件:stdio.h
fputc
原型:int fpuct(int ch,FILE*stream)
功能:送一个字符到一个流中,ch为被写字符。stream为流指针;返回被写字符。返回EOF时,表示可能出错
fputchar
原型:int fputchar(char ch)
功能:送一个字符到标准的输出流(stdout)中,ch为被写字符。返回被写字符。返回EOF时,表示可能出错
头文件:stdio.h
fputs
原型:int fputs(char*string,FILE*stream)
功能:送一个字符串到流中,string为被写字符串。stream为流指针;返回值为0时,表示成功
头文件:stdio.h
fread
原型:int fread(void*ptr,int size,int nitems,FILE*stream)
功能:从一个流中读数据,ptr为数据存储缓冲区,size为数据项大小(单位是字节),nitems为读入数据项的个数;stream为流指针;返回实际读入的数据项个数头文件:stdio.h
freopen
原型:FILE*freopen(char*filename,char*type,FILE*stream)
功能:关闭当前所指流式文件,使指针指向新的流。filename为新文件名。type为访问方式;stream为流指针;返回新打开的文件指针
头文件:stdio.h
fscanf
原型:int fscanf(FILE*stream,char*format[,argument,…]
功能:从一个流中执行格式化输入。stream为流指针,format为格式串,argument 为输入参数
头文件:stdio.h
fseek
原型:int fseek(FILE*stream,long offset,int fromwhere)
功能:重新定位流上读/写指针。stream为流指针,offset为偏移量(字节数),fromwhere 为起始位置。返回0时,表示成功。
头文件:stdio.h
fstat
原型:int fstat(char*handle,struct stat*buff)
功能:获取打开文件的信息。handle为已打开的文件号,buff为指向stat结构的指针,用语存放文件的有关信息。返回-1时,表示出错
头文件:sys\stst.h
ftell
原型:long ftell(FILE*stream)
功能:返回当前文件操作指针。返回流式文件当前位置
头文件:stdio.h
fwrite
原型:int fwrite(void*ptr,int size,int nitems,FILE*stream)
功能:写内容到流中。ptr为被写出的数据存储缓冲区,size为数据项大小(单位是字节),nitems为写出的数据项个数,stream为流指针。返回值为实数写出的完整数据
项个数
头文件;stdio.h
getc
原型:int getc(FILE*stream)
功能:从流中取字符。stream为流指针;返回所读入的字符
头文件:stdio.h
getch
原型:int getch(void)
功能:从控制台无回显地读取一个字符。返回所读入的字符
头文件:conio.h
getchar
原型:int getchar(void)
功能:从标准输入流(stdin)中取一字符。返回所读入的字符
头文件:conio.h
getche
原型:int getche(void)
功能:从控制台取一字符,并回显。返回所读入的字符。
头文件:conio.h
getpass
原型:char*getpass(char*prompt)
功能:读一个口令。prompt为提示字符串。函数无回显地返回指令向输入口令(超过8个字符的串)的指针
头文件:conio.h
gets
原型:char*gets(char*string)
功能:从标准设备上(stdin)读取一个字符串。string为存放读入串的指针。返回NULL时,表示出错
头文件:conio.h
getw
原型:int getw(FILE*stream)
功能:从流中去一个二进制的整型数。stream为流指针。返回所读到的数值(EOF表示出错
头文件:stdio.h
kbhit
原型:int kbhit(void)
功能:检查控制台是否有键按动。返回非0时,表示有按键
头文件:conio.h
lseek
原型:long lseek(int handle,long offset,int fromwhere)
功能:移动文件读/写指针。handle为已打开的文件号。offset为偏移量(字节数);
fromwhere为初始位置。返回-1时,表示出错
头文件:io.h
open
原型:int open(char*pathname,int access[,permiss])
功能:打开一个文件用于读或写。pathname为文件名;access为允许操作类型;permiss 为权限。返回所打开的文件序号
头文件:io.h
perror
原型:void perror(char*string)
功能:打印系统错误信息。string为字符串提示信息。函数打印完提示信息之后,打印一个冒号,然后打印相对于当前errno值得信息
头文件:stdio.h
printf
原型:int printf(char*format[,argument])
功能:从标准输出设备(stdout)上格式化输出。format为格式串,argument为输出参数
头文件:stdio.h
putc
原型:int putc(int ch,FILE*stream)
功能:输出字符到流中。ch为被输出的字符,stream为流指针。函数返回被输出的字符
头文件:stdio.h
putch
原型;int putch(int ch)
功能:输出一个字符到控制台。ch为要输出的字符。返回值为EOF时,表示出错
头文件:conio.h
putchar
原型:int putchar(int ch)
功能:输出一个字符到标准输出设备(stdout)上。ch为要输出的字符。返回被输出的字符
头文件:conio.h
puts
原型:int puts(char*string)
功能:输出一个字符串到标准输出设备(stdout)上。string为要输出的字符串。返回值为0时,表示成功
头文件:conio.h
putw
原型:int putw(int w,FILE*stream)
功能:将一个二进制整数写到流的当前位置。w为被写的二进制整数,stream为流指针
头文件:stdio.h
read
原型:int read(int handle,void*buf,nbyte)
功能:从文件中读。handle:已打开的文件号;buf:存储数据的缓冲区;nbyte:读取的最大字节。返回成功读取的字节数
头文件:io.h
remove
原型:int remove(char*filename)
功能:删除一个文件。filename:被删除的文件名;返回-1时,表示出错
头文件:stdio.h
rename
原型:int rename(char*oldname,char*newname)
功能:改文件名。oldname:旧名;newname:新名。返回值为0,表示成功
头文件:stdio.h
rewind
原型:int rewind(FILE*stream)
功能:将我乔恩见指针指向头文件。stream:流指针
头文件:stdio.h
scanf
原型:int scanf(char*format[,argument,…])
功能:从标准输入设备上格式化输入。format:格式串;argument:输入参数项
头文件:stdio.h
setbuf
原型:void setbuf(FILE*stream,char*buf)
功能:把缓冲区与流相联
头文件:stdio.h
setmode
原型:int setmode(int handle,unsigned mode)
功能:设置打开文件方式。handle:文件号;mode:打开方式
头文件:io.h
setvbuf
原型:int setvbuf(FILE*stream,char*buf,int type,unsigned size)
功能:把缓冲区与流相联。stream:流指针;buf:用户定义的缓冲区;type:缓冲区类型;size:缓冲区大小
头文件:dos.h
sprint
原型:int sprint(char*strint,char*format[,argument,…])
功能:格式输出到字符串string中
头文件:stdio.h
sscanf
原型:int sscanf(char*string,char format[,argument,…])
功能:执行从串string中输入
头文件:stdio.h
strerror
原型:char*strerror(int errnum)
功能:返回指向错误信息字符串的指针
头文件:stdio.h
tell
原型:long tell(int handle)
功能:取文件:读/写指针的当前位置
头文件:io.h
ungect
原型:int ungect(char ch,FILE*stream)
功能:把一字符串退回输入流中
头文件:stdio.h
ungecth
原型:int ungecth(int ch)
功能:把一个字符退回到键盘缓冲区中
头文件:conio.h
vfprintf
原型:int vfprintf(FILE*stream,char*format,va_list param)
功能:送格式化输出到流stream中
头文件:stdio.h
vfscanf
原型:int vfscanf(FILE*stream,char*format,va_list param)
功能:从流stream中进行格式化输入
头文件:stdio.h
vprintf
原型:int vprintf(char*format,va_list param)
功能:送格式化输出到标准的输出设备
头文件:stdio.h
vscanf
原型:int vscanf(char*format,va_list param)
功能:从标准的输入设备(stdin)进行格式化输入
头文件:stdio.h
vsprintf
原型:int vsprintf(char*string,char*format,va_list param)
功能:送格式化输出到字符串string中
头文件:stdio.h
write
原型:int write(int handle,void*buf,int nbyte)
功能:将缓冲区buf的内容写入一个文件中。handle为已打开的文件;buf为要写(存)的数据;nbyte为字节数。返回值为实际所写的字节数
头文件:io.h
C语言函数大全(m开头) main()主函数 每一C 程序都必须有一 main() 函数, 可以根据自己的爱好把它放在程序的某 个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放 在哪个地方, 以下几点说明都是适合的。 1. main() 参数 在Turbo C2.0启动过程中, 传递main()函数三个参数: argc, argv和env。 * argc: 整数, 为传给main()的命令行参数个数。 * argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径名; 对DOS 3.0 以下的版本, argv[0]为空串("") 。 argv[1] 为在DOS命令行中执行程序名后的第一个字符串; argv[2] 为执行程序名后的第二个字符串; ... argv[argc]为NULL。 *env: 安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符 串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS, C: \TURBOC(对于PATH) 或YES(对于87)。 Turbo C2.0启动时总是把这三个参数传递给main()函数, 可以在用户程序中 说明(或不说明)它们, 如果说明了部分(或全部)参数, 它们就成为main()子程序 的局部变量。 请注意: 一旦想说明这些参数, 则必须按argc, argv, env 的顺序, 如以下 的例子: main() main(int argc) main(int argc, char *argv[]) main(int argc, char *argv[], char *env[])
标准库函数 本附录描述了标准C支持的库函数①。使用此附录时,请记住下列要点。 为了简洁清楚,这里删除了一些细节。如果想看全部内容,请参考标准。本书的其他地方已经对一些函数(特别是printf函数、scanf函数以及它们的变异函数)进行了详细介绍,所以这里 只对这类函数做简短的描述。为了获得关于某个函数更详细的信息(包括如何使用这个函数的示 例),请见函数描述右下角用楷体列出的节号。 每个函数描述结尾都有其他与之相关函数的列表。相似函数非常接近于正在描述的函数。相关函数经常会和在描述的函数联合使用。(例如,calloc函数和realloc函数与malloc函数“类似”, 而free函数则与malloc函数“相关”。)也可参见的函数和在描述的函数没有紧密联系,但是却 可能有影响。 如果把函数行为的某些方面描述为由实现定义的,那么这就意味着此函数依赖于C库的实现方式。 函数将始终行为一致,但是结果却可能会由于系统的不同而千差万别。(换句话说,请参考手册了 解可能发生的问题。)另一方面,未定义的行为是一个不好的消息:不但函数的行为可能会因系统 不同而不同,而且程序也可能会行为异常甚至崩溃。
1.分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2.数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int 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为弧度
常用C语言标准库函数2012 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零 头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h
Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.h Isupper 原型:int isupper(inr c) 功能:测试参数c是否为大写字母:是则返回非零;否则返回零 Isxdigit 原型:int isxdigit(int c) 功能:测试参数c是否为十六进制数:是则返回非零;否则返回零 2.数学函数 abs 原型:int abs(int i) 功能:返回整数型参数i的绝对值 头文件:stdlib.h,math.h acos 原型:double acos(double x) 功能:返回双精度参数x的反余弦三角函数值 头文件:math.h asin 原型:double asin(double x) 功能:返回双精度参数x的反正弦三角函数值 头文件:math.h atan 原型:double atan(double x) 功能:返回双精度参数的反正切三角函数值 头文件:math.h atan2 原型:double atan2(double y,double x) 功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.h cabs
c语言函数库 目录 第一章(C标准库) (4) 1.
C语言函数大全 1 字符测试函数 函数(及意义)函数分解Isalnum(){判断字符是否is alphbet(字母表) number(数字) 为字母或数字} Isalpha(){判断是否为英文is alphbet(字母表) 字母} Isblank(){空格和TAB} is blank(空格) Iscntrl() { 控制} is control(控制) Isdigit(){数字} is digit(数字) Isgraph(){除空格外的可打is graph(图表) 印字符} Islower(){是否为小写} is lowercase(小写) Isprintf(){可打印字符含空这个简单 字符} Ispunct(){标点或特殊符号is punctuation(标点) } Isspace(){检查是否为空字is space(空间) 符,即判断是否为空格,水平 定位字符“\t”,归位字符“\r ”,垂直定位字符“\v”,换行 字符“\n”,翻页“\f”} Isupper(){是否为大写字母is upper_case(大写) } Isxdigit(){十六进制} is hexadecimal digit(十六进制) Tolower(){将小写转换成 大写} Toupper(){将大写转换成这个简单(to change 或者to covert 或者 小写} transformation
字符串函数 Memchr(){在某一内存范围内查找一特定字符}Memory (储存)char(字符型炭)也可以是character (字符) Memcmp(){比较区域 str1,str2的前n个字节} Memory(同理)compare(比较) Memcpy(){由str2所指内存区域复 制n个字节到str1所指内存区域} Memory copy(复制) Memmove(){两个所指的内存区域 可重叠,但是内容会更改,函数 返回值为指向区域内存的指针} Memory move(移动) Memset(){把str所指的内存区域 的前N个字节设置成字符c} Set(设置)
函数大全(p开头) 61 函数名:parsfnm 功能:分析文件名 用法:char *parsfnm (char *cmdline, struct fcb *fcbptr, int option); 程序例: #include
prinif(=The current sUHus of your keyboard is,n=); value H Peek(oxoo4p0x0017) 八 if (value 1) P S-二 f(--Right shift onm=)八 else printaRight shift 05n =) 八 if (value 2) primf(=Lefr shift onvr.r else prin-fTLen shift O 51T ); if (value &. 4) printf(=con=rol key on\n=)_ else p r i n .s =c o =r o 】 key off\n=)八 if (value Rp 8) printf(=Alr key on\n=)一 else p r i n s ->-t key 03=)
字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 头文件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 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。
库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并 提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的 编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供 的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录 列出ANSI C建议的常用库函数。 由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、 与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不 能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据 需要,查阅有关系统的函数使用手册。 1.数学函数 使用数学函数时,应该在源文件中使用预编译命令: #include
absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) 功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。 参数:drive=0对应A盘,drive=1对应B盘。 返回值:0:成功;-1:失败。 头文件:dos.h abswrite()写磁盘绝对扇区函数 原形:int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A驱动器)、1(B驱动器)、 nsects=要写的扇区数(最多64K个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。 功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。 返回值:0:成功;-1:失败。 头文件:dos.h atof()将字符串转换成浮点数的函数 原形:double atof(const char *s) 功能:把s所指向的字符串转换成double类型。 s格式为:符号数字.数字E符号数字 返回值:字符串的转换值。 头文件:math.h、stdlib.h atoi()将字符串转换成整型数的函数 原形:int atoi(const char *s) 功能:把s所指向的字符串转换成int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h atol()将字符串转换成长整型数的函数 原形:long atol(const char *s) 功能:把s所指向的字符串转换成long int类型。 s格式为:符号数字 返回值:字符串的转换值。若出错则返回0。 头文件:stdlib.h bcd()把一个数转换成对应的BCD码的函数 原形:bcd bcd(int x) bcd bcd(double x) bcd bcd(double x,int decimals)
C语言常用基本词汇及其他提示语运算符与表达式: 1.constant 常量 2. variable 变量 3. identify 标识符 4. keywords 关键字 5. sign 符号 6. operator 运算符 7. statement语句 8. syntax 语法 9. expression 表达式 10. initialition初始化 11. number format 数据格式 12 declaration 说明 13. type conversion 类型转换 14.define 、definition 定义 条件语句: 1.select 选择 2. expression 表达式 3. logical expression 逻辑表达式 4. Relational expression 关系表达式 5.priority优先
6. operation运算 7.structure 结构 循环语句: 1.circle 循环 2. condition 条件 3. variant 变量 4. process过程 5.priority优先 6. operation运算 数组: 1. array 数组 2. reference 引用 3. element 元素 4. address 地址 5. sort 排序 6. character 字符 7. string 字符串 8. application 应用函数: 1.call 调用 2.return value 返回值 3.function 函数
4. declare 声明 5. `parameter 参数 6.static 静态的 7.extern 外部的 指针: 1. pointer 指针 2. argument 参数 3. array 数组 4. declaration 声明 5. represent 表示 6. manipulate 处理 结构体、共用体、链表: 1 structure 结构 2 member成员 3 tag 标记 4 function 函数 5 enumerate 枚举 6 union 联合(共用体) 7 create 创建 8 insert 插入 9 delete 删除 10 modify 修改
功能: 异常终止一个进程 用法: void abort(void) 函数名: abs 功能: 求整数的绝对值 用法: int abs(int i) 函数名: absread, abswirte 功能: 绝对磁盘扇区读、写数据 用法: int absread(int drive, int nsects, int sectno, void *buffer) int abswrite(int drive, int nsects, in tsectno, void *buffer 函数名: access 功能: 确定文件的访问权限 用法: int access(const char *filename, int amode) 函数名: acos 功能:反余弦函数 用法: double acos(double x) 函数名: allocmem 功能: 分配DOS存储段 用法:int allocmem(unsigned size, unsigned *seg) 函数名: arc 功能: 画一弧线 用法:void far arc(int x, int y, int stangle, int endangle, int radius)函数名: asctime 功能: 转换日期和时间为ASCII码 用法:char *asctime(const struct tm *tblock) 函数名: asin 功能:反正弦函数 用法: double asin(double x) 函数名: assert 功能: 测试一个条件并可能使程序终止 用法:void assert(int test) 函数名: atan 功能: 反正切函数 用法: double atan(double x)
fopen(打开文件) 相关函数 open,fclose 表头文件 #include
头文件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 信号处理 该分类函数用于处理那些在程序执行过程中发生例外的情况。 头文件signal.h 函数列表 函数类别函数用途详细说明 指定信号处理函数signal 发送信号raise 可变参数处理 本类函数用于实现诸如printf,scanf等参数数量可变底函数。 头文件stdarg.h 函数列表
C语言中最常用标准库函数- candyliuxj - CSDN博客 C语言中最常用标准库函数收藏 标准头文件包括: <asset.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdlib.h> <stdio.h> <string.h> <time.h> 一、标准定义(<stddef.h>) 文件<stddef.h>里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,<stddef.h>都会被自动包含进来。 这个文件里定义: l 类型size_t (sizeof运算符的结果类型,是某个无符号整型); l 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);
l 类型wchar_t (宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的 字符集的所有编码值。这里还保证空字符的编码值为0); l 符号常量NULL (空指针值); l 宏offsetor (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构 成员名。offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。 注:其中有些定义也出现在其他头文件里(如NULL)。 二、错误信息(<errno.h>) <errno.h>定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。 <errno.h>里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参数错误,就会将errno 置为EDOM,如出现值域错误就会将errno置为ERANGE。 三、输入输出函数(<stdio.h>) 文件打开和关闭: FILE *fopen(const char *filename, const char *mode); int fclose(FILE * stream);
C语言中常见的功能函数(应掌握的编程) 1、两个变量值的交换 void exchang(float *x,float *y) /*形参为两个变量的地铁(指针)*/ {float z; z=*x; *x=*y; *y=z; } void main() {float a,b; scanf(“%f%f”,&a,&b); exchang(&a,&b); /*因为形参是指针,所以实参必须给变量的地址,不能给变量名*/ printf(“a=%f,b=%f”,a,b); } 2、判断一个整数的奇偶 int jou(int n) /*如果是奇数返回1,否则返回0*/ { if(n%2==0) return 0; return 1; } 3、小写字符转换成大写字符 根据实参传给形参的字母,判断是否是小写字母,如果是小写字母,则转换成大写字母,否则不进行转换,函数返回转换后或原来的字符。 本函数仿照toupper()库函数的功能编写(toupper(c) 是将变量c字母转换成大写字母,如果不是小写字母不转换)。 char toupper1(char ch) {if(ch>=’a’&&ch<=’z’) ch-=32; /*小写字母比对应的大写字母ASCII码值大32*/ return ch; } 4、判断一个字符是否是字母(或数字) 根据实参传给形参的字符,判断是否是字母(或数字),如果是字母(或数字)返回1,否则返回0。此函数是根据库函数isalpha()(或isdigit())来编写的。 int isalpha1(char ch) /*判断是否是字母*/ {if(ch>=’A’&&ch<=’Z’||ch>=’a’&&ch<=’z’) return 1; else return 0; } int isdigit1(char ch) /*判断是否是数字字符*/ {if(ch>=’0’&&ch<=’9’) return 1; else return 0; } 5、根据学生成绩,返回其等级 char fun(float cj) {char c; switch((int)cj/10) {case 10:
分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9') 返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F) 返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n') 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int 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中
常用C语言标准库函数 C语言编译系统提供了众多的预定义库函数和宏。用户在编写程序时,可以直接调用这些库函数和宏。这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。 1.测试函数 Isalnum 原型:int isalnum(int c) 功能:测试参数c是否为字母或数字:是则返回非零;否则返回零 头文件:ctype.h Isapha 原型:int isapha(int c) 功能:测试参数c是否为字母:是则返回非零;否则返回零 头文件:ctype.h Isascii 原型:int isascii(int c) 功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零 头文件:ctype.h Iscntrl 原型:int iscntrl(int c) 功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.h Isdigit 原型:int isdigit(int c) 功能:测试参数c是否为数字:是则返回非零;否则返回零。 头文件:ctype.h Isgraph 原型:int isgraph(int c) 功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零 头文件:ctype.h Islower 原型:int islower(int c) 功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.h Isprint 原型:int isprint(int c) 功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零 头文件:ctype.h Ispunct 原型:int ispunct(int c) 功能:测试参数c是否为标点符号:是则返回非零;否则返回零
Afx全局函数 AfxBeginThread:开始一个新的线程 AfxEndThread:结束一个旧的线程 AfxFormatString1:类似printf一般地将字符串格式化 AfxFormatString2:类似printf一般地将字符串格式化 AfxMessageBox:类似Windows API 函数MessageBox AfxOuputDebugString:将字符串输往除错装置 AfxGetApp:获得application object (CWinApp派生对象)的指针 AfxGetMainWnd:获得程序主窗口的指针 AfxGetInstance:获得程序的instance handle MFC数据类型 下面这些是和Win32程序共同使用的数据类型 BOOL:布尔值,取值为TRUE or FALSE BSTR:32-bit 字符指针 BYTE:8-bit整数,未带正负号 COLORREF:32-bit数值,代表一个颜色值 DWORD:32-bit整数,未带正负号 LONG:32-bit整数,带正负号 LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数 LPCSTR:32-bit指针,指向一个常数字符串 LPSTR:32-bit指针,指向一个字符串 LPCTSTR:32-bit指针,指向一个常数字符串,此字符串可以移植到Unicode(世界性的字符集)和DBCS(亚洲字符集) LPTSTR:32-bit指针,指向一个字符串,此字符串可以移植到Unicode和DBCS LPVOID:32-bit指针,指向一个未指定类型的数据 LPRESULT:32-bit数值,作为窗口函数或callback函数的返回值 UINT:在Win16中是一个16-bit 未带正负号整数,在Win32中是一个32-bit 未带正负号整数,WNDPROC:32-bit指针,指向一个窗口函数 WORD:16-bit 整数,未带正负号 WPARAM:窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win32中是32-bit 下面这些是MFC独特的数据类型 POSITION:一个数值,代表collection对象(例如数组或链表)中的元素位置,常用于MFC collection classes (即数据处理类,如CArray) LPCRECT:32-bit指针,指向一个不变的RECT结构 CSize说明一个矩形的高和宽,调用CDC::GetTextExtent成员函数计算使用当前字体的一行文字的高和宽决定的尺寸。 CString::LoadString把一个由nID标识的字符串资源读取到现有的CString对象中 CDC::BeginPath:打开设备上下文中的路径,路径打开后,应用程序可以开始调用GDI画图函数定义位于路径上的点。 CDC::SelectClipPath选择当前路径作为设备上下文的剪切区域,通过使用指定模式与任何现有的剪切区域