附录2常用库函数 附录2常用库函数 Microsoft c为应用程序设计人员提供了大量的库函数,其功能覆盖了程序设计的方方面 面,为每个程序员所必须掌握。在本附录中,我们选列了其中较常用的库函数,供读者查 询参考。为了节省篇幅,我们只列出了函数原型和简单的功能说明。如果在使用时对某库 函数的功能、参数设置和返回值等仍有疑问,可以直接查看MSDN中的有关说明 1.分类库函数,原型均在头文件 ctype. h中。这组库函数实际上均为带参数的宏。 原型: int isalpha(intc) 功能:如果c为字母返回非0值,否则返回0。 原型: int isdigit(intc) 功能:如果c为数字返回非0值,否则返回。 原型: int isalnun(intc) 功能:如果c为字母或数字返回非0值,否则返回0 原型: int islower(intc); int isupper (int c): 功能:如果c为小写(大写)字母返回非0值,否则返回0。 原型: Int isprint(intc) 功能:如果c为可打印字符(包括字母、数字、空格和各种符号等)返回非0值,否则返 回 原型: Int Isspace(intc) 功能:如果c为空格、制表符、回车换行符等则返回非0值,否则返回0。 原型: int tolower( int ch) int toupper (int ch) 功能:将字符转换为小写或大写字符 2.目录操作函数,用于在程序中处理文件目录系统,原型均在头文件 direct. h中 原型: int chdir( const char* dirname) 功能:改变当前目录。 原型: int chdrive( int drive) 功能:改变当前驱动器。 原型:char* getcwd(char* buffer, int maxlen); 功能:读取当前目录。 RA: char *getdcwd int drive. char *buffer, int maxlen ): 功能:从指定驱动器的读取当前目录
附录 2 常用库函数 343 附录 2 常用库函数 Microsoft C 为应用程序设计人员提供了大量的库函数,其功能覆盖了程序设计的方方面 面,为每个程序员所必须掌握。在本附录中,我们选列了其中较常用的库函数,供读者查 询参考。为了节省篇幅,我们只列出了函数原型和简单的功能说明。如果在使用时对某库 函数的功能、参数设置和返回值等仍有疑问,可以直接查看 MSDN 中的有关说明。 1.分类库函数,原型均在头文件 ctype.h 中。这组库函数实际上均为带参数的宏。 原型: int isalpha(int c); 功能: 如果 c 为字母返回非 0 值,否则返回 0。 原型: int isdigit(int c); 功能: 如果 c 为数字返回非 0 值,否则返回。 原型: int isalnum(int c); 功能: 如果 c 为字母或数字返回非 0 值,否则返回 0。 原型: int islower(int c); int isupper(int c); 功能: 如果 c 为小写(大写)字母返回非 0 值,否则返回 0。 原型: int isprint(int c); 功能: 如果 c 为可打印字符(包括字母、数字、空格和各种符号等)返回非 0 值,否则返 回 0。 原型: int isspace(int c); 功能: 如果 c 为空格、制表符、回车换行符等则返回非 0 值,否则返回 0。 原型: int tolower(int ch); int toupper(int ch); 功能: 将字符转换为小写或大写字符。 2.目录操作函数,用于在程序中处理文件目录系统,原型均在头文件 direct.h 中。 原型: int _chdir( const char *dirname ); 功能: 改变当前目录。 原型: int _chdrive( int drive ); 功能: 改变当前驱动器。 原型: char *_getcwd( char *buffer, int maxlen ); 功能: 读取当前目录。 原型: char *_getdcwd( int drive, char *buffer, int maxlen ); 功能: 从指定驱动器的读取当前目录
附录2常用库函数 原型 getdrive( void 功能:读取当前磁盘驱动器。 原型: int mkdir( const char* dirname); 功能:建立目录。 原型: int rmdir( const char* dirname) 功能:删除目录。 RRA: void searchenv const char *filename, const char *varname, char*pathname) 功能:按指定路径查找给出的文件 3.进程和环境控制库函数,原型均在头文件 Process h或 Stdlib.h中。 原型: void abort(void); 功能:异常终止一个进程。 原型: void exit( int status); 功能:中止程序。 原型: Int system(char* command) 功能:在不退出程序的情况下直接启动DOS的命令行。可以使用此函数运行其它程序, 然后在返回原来的应用程序。 4.类型转换库函数,除注明者外,原型均在头文件 stdlib.h中 原型: int atol(char*s) double atof (char *s) 功能:将字符串分别转换为整型数、长整型数和双精度型数。atof()的原型在头文件 RRE: char* itoa (int value, char *string, int radix) char Itoa (long value, char *string, int radix 功能:整型或长整型数值转换为字符串 5.输入输出库函数,除注明者外,原型均在头文件 stdio. h中。 原型: int getchar(void) 功能:从标准输入设备(键盘,下同)读一个字符。 原型: int getch(void); int getche(void): 功能:从标准输入设备(键盘,下同)读一个字符 原型: int khit(void) 功能:检查当前按键是否有效。原型在头文件 conio. h中。 原型: int putchar(intc) 功能:向标准输出设备(显示屏,下同)写一个字符 原型: int putch(intc); 功能:向控制台写一个字符
附录 2 常用库函数 344 原型: int _getdrive( void ); 功能: 读取当前磁盘驱动器。 原型: int _mkdir( const char *dirname ); 功能: 建立目录。 原型: int _rmdir( const char *dirname ); 功能: 删除目录。 原型: void _searchenv( const char *filename, const char *varname, char *pathname ); 功能: 按指定路径查找给出的文件。 3.进程和环境控制库函数,原型均在头文件Process.h或Stdlib.h中。 原型: void abort(void); 功能: 异常终止一个进程。 原型: void exit(int status); 功能: 中止程序。 原型: int system(char *command); 功能: 在不退出程序的情况下直接启动DOS的命令行。可以使用此函数运行其它程序, 然后在返回原来的应用程序。 4.类型转换库函数,除注明者外,原型均在头文件stdlib.h中。 原型: int atoi(char *s); long atol(char *s); double atof(char *s); 功能:将字符串分别转换为整型数、长整型数和双精度型数。atof()的原型在头文件 math.h中。 原型: char *_itoa(int value,char *string,int radix); char *_ltoa(long value, char *string,int radix); 功能: 整型或长整型数值转换为字符串。 5.输入/输出库函数,除注明者外,原型均在头文件stdio.h中。 原型:int getchar( void ); 功能:从标准输入设备(键盘,下同)读一个字符。 原型: int getch(void); int getche(void); 功能: 从标准输入设备(键盘,下同)读一个字符。 原型: int _kbhit( void ); 功能: 检查当前按键是否有效。原型在头文件conio.h中。 原型: int putchar( int c ); 功能: 向标准输出设备(显示屏,下同)写一个字符。 原型: int _putch( int c ); 功能: 向控制台写一个字符
附录2常用库函数 RA: int printf( const char *format [ argument].) 功能:向标准输出设备进行格式化输出 RRE: int scanf const char*format[, argument]..) 功能:从标准输入设备进行格式化输入。 原型:char*gets( char *buffer); 功能:从标准输人设备输入字符串。 原型: Int puts( const char* string); 功能:向标准输出设备写字符串 原型: int ungetch(intc) 功能:将一个字符退回键盘缓冲区,下次用 getch()等函数即可读此字符。 RA: FILE*fopen const char*filename, const char *mode int fclose File *stream 功能:打开和关闭流式文件。 原型: int fgetc(FILE* stream) int getc( FILE *stream fputc( int c, FILE int putc( int c, FILE*stream): 功能:从文件中读一个字符,或向文件中写一个字符。 RR: char *fgets char *string, int n, FILE*stream int fputs( const char*string, FILE*stream ): 功能:文件字符串读写 RRE: int fprintf( FILE*stream, const char*format[, argument].): int fscanf( FILE*stream, const char *format[, argument I 功能:文件格式化读写 R 4: size t fread void*buffer size t size size t count. File*stream size t fwrite const void *buffer size t size. size t count fIle*stream 功能:文件成块读写 RRA: int fseek FILE *stream, long offset, int origin ) long ftell( FILE *stream): 功能:文件指针定位。 原型: int feof(FILE* stream); 功能:测试文件是否结東 原型: Int ungetc(ntc,FIE* sstream) 功能:将一个字符退回文件缓冲区中,下次用 fgetc()等函数即可读此字符 RA: int rename const char *oldname, const char*newname 功能:修改文件名 原型: int unlink( const char* filename) 功能:删除文件。原型在头文件 Stdio.h和ioh中
附录 2 常用库函数 345 原型: int printf( const char *format [, argument]... ); 功能: 向标准输出设备进行格式化输出。 原型: int scanf( const char *format [,argument]... ); 功能: 从标准输入设备进行格式化输入。 原型: char *gets( char *buffer ); 功能: 从标准输人设备输入字符串。 原型: int puts( const char *string ); 功能: 向标准输出设备写字符串。 原型: int _ungetch( int c ); 功能: 将一个字符退回键盘缓冲区,下次用getch()等函数即可读此字符。 原型: FILE *fopen( const char *filename, const char *mode ); int fclose( FILE *stream ); 功能: 打开和关闭流式文件。 原型: int fgetc( FILE *stream ); int getc( FILE *stream ); int fputc( int c, FILE *stream ); int putc( int c, FILE *stream ); 功能: 从文件中读一个字符,或向文件中写一个字符。 原型: char *fgets( char *string, int n, FILE *stream ); int fputs( const char *string, FILE *stream ); 功能: 文件字符串读写。 原型: int fprintf( FILE *stream, const char *format [, argument ]...); int fscanf( FILE *stream, const char *format [, argument ]... ); 功能: 文件格式化读写。 原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream ); size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream ); 功能: 文件成块读写。 原型: int fseek( FILE *stream, long offset, int origin ); long ftell( FILE *stream ); 功能: 文件指针定位。 原型: int feof( FILE *stream ); 功能: 测试文件是否结束。 原型: int ungetc( int c, FILE *stream ); 功能: 将一个字符退回文件缓冲区中,下次用fgetc()等函数即可读此字符。 原型: int rename( const char *oldname, const char *newname ); 功能: 修改文件名。 原型: int _unlink( const char *filename ); 功能: 删除文件。原型在头文件Stdio.h和io.h中
附录2常用库函数 6.存储分配库函数,原型均在头文件 malloc. h中 原型:void* malloc( size t size) 功能:按字节申请存储空间 原型:void* calloc( size t num, size t size) 功能:成组申请存储空间。 RA: void *realloc( void*memblock size t size 功能:修改已动态分配的存储块大小。 原型: void free(void* enblock); 功能:释放动态申请的存储块。 内存操作函数,除特别说明者外,原型均在头文件 memory. h和 Istring h中 RRA: void*memset( void*dest, int c size t count 功能:将一段内存均置为给定的内容。 RRE: int memcmp( const void*bufl, const void*buf2, size t count): nt memicmp const void *bufl, const void*buf2, unsigned int count 功能:比较两段存储空间的内容。 memicmp()不区分大、小写字母 R4: void*memchr const void *buf. int c size t count 功能:在指定内存单元中查找字符。。 RRE: void*memcpy( void*dest, const void*src, size t count ): void *memmove void *dest. const void *src size t count 功能:复制一段给定的内存单元内容。 memcpy()与 memmove()的复制方向不同,这 在源空间和目标空间有重叠时特别重要。 8.字符串操作库函数,原型均在头文件 string h中。这组库函数甚多,这里只选列了其中较 常用的几个 原型:char* street(char* string,intc); char* strnset( char*string, int c, size t count): 功能:将字符串中的字符设置为给定值。 RRA: char *strcpy char *strDestination, const char*strSource); char *strncpy char *strDest, const char *str Source, size t count 功能:字符串拷贝。 RR4: char *strcat( char *strDest, const char *strSource char *strncat( char *strDest, const char *strSource, size t count): 功能:将字符串 i str Source添加在字符串 str dest之后 原型:char* strlwr( char*string); char* strupr char*string 功能:将字符串中的字母字符均转换为小写/大写字母。 原型:char* strrev(char* string); 功能:反转字符串的内容 原型: char *strchr( const char* string,intc)
附录 2 常用库函数 346 6.存储分配库函数,原型均在头文件malloc.h中。 原型: void *malloc( size_t size ); 功能: 按字节申请存储空间。 原型: void *calloc( size_t num, size_t size ); 功能: 成组申请存储空间。 原型: void *realloc( void *memblock, size_t size ); 功能: 修改已动态分配的存储块大小。 原型: void free( void *memblock ); 功能: 释放动态申请的存储块。 7.内存操作函数,除特别说明者外,原型均在头文件memory.h 和string.h中。 原型: void *memset( void *dest, int c, size_t count ) ; 功能: 将一段内存均置为给定的内容。 原型: int memcmp( const void *buf1, const void *buf2, size_t count ); int _memicmp( const void *buf1, const void *buf2, unsigned int count ); 功能: 比较两段存储空间的内容。_memicmp()不区分大、小写字母。 原型: void *memchr( const void *buf, int c, size_t count ); 功能: 在指定内存单元中查找字符。。 原型: void *memcpy( void *dest, const void *src, size_t count ); void *memmove( void *dest, const void *src, size_t count ); 功能: 复制一段给定的内存单元内容。memcpy()与memmove()的复制方向不同,这 在源空间和目标空间有重叠时特别重要。 8.字符串操作库函数,原型均在头文件string.h中。这组库函数甚多,这里只选列了其中较 常用的几个。 原型: char *_strset( char *string, int c ); char *_strnset( char *string, int c, size_t count ); 功能: 将字符串中的字符设置为给定值。 原型: char *strcpy( char *strDestination, const char *strSource ) ; char *strncpy( char *strDest, const char *strSource, size_t count ); 功能: 字符串拷贝。 原型: char *strcat( char *strDest, const char *strSource ); char *strncat( char *strDest, const char *strSource, size_t count ); 功能: 将字符串strSource 添加在字符串strDest之后。 原型: char *_strlwr( char *string ); char *_strupr( char *string ); 功能: 将字符串中的字母字符均转换为小写/大写字母。 原型: char *_strrev( char *string ); 功能: 反转字符串的内容。 原型: char *strchr( const char *string, int c );
附录2常用库函数 功能:在字符串 string中查找指定字符c RNA: char *strstr const char *string, const char *str Set) 功能:在字符串中查找指定子字符串。 RRE: int strcmp const char *stringl, const char *string2): int stricmp( const char *stringl, const char *string2): int strncmp( const char *stringl, const char *string2, size t count int strnicmp( const char *stringl, const char *string2, size t count 功能:比较两个字符串。 stricmp()在比较时不区对大小写字母; strncmp()仅比较两 字符串的前 maxlen位; strnicmp()仅比较两字符串的前 maxlen位,且比较时不区 分大小写字母。如果两字符串相同,则返回地否则返回非0值 原型: size t strlen( const char* string) 功能:求字符串长度。 9.数学运算库函数,原型均在头文件 math. h 原型: int abs(intn) double fabs (double x) long labs (long x): 功能:求绝对值 原型: double cabs( struct complex Z) 功能:求复数的模。 原型: double sin( double); double cos (double x) double tan ( double x) double asin (double x) double acos double x) double atan (double x) double atan2(double y, double x): 功能:求三角函数和反三角函数 原型: double sinh( double); double tanh ( double x) 功能:求双曲函数。 原型: double exp( double) double log( double x) double pow( double x, double y double sqrt( double x 功能:求指数、对数、幂函数和平方根。 原型: Int max(inta,intb);
附录 2 常用库函数 347 功能: 在字符串string中查找指定字符c 原型: char *strstr( const char *string, const char *strCharSet ); 功能: 在字符串中查找指定子字符串。 原型: int strcmp( const char *string1, const char *string2 ); int _stricmp( const char *string1, const char *string2 ); int strncmp( const char *string1, const char *string2, size_t count ); int _strnicmp( const char *string1, const char *string2, size_t count ); 功能: 比较两个字符串。stricmp()在比较时不区对大小写字母;strncmp()仅比较两 字符串的前maxlen位;strnicmp()仅比较两字符串的前maxlen位,且比较时不区 分大小写字母。如果两字符串相同,则返回地否则返回非0值。 原型: size_t strlen( const char *string ); 功能: 求字符串长度。 9.数学运算库函数,原型均在头文件math.h。 原型: int abs( int n ); double fabs(double x); long labs(long x); 功能: 求绝对值。 原型: double _cabs( struct _complex z ); 功能: 求复数的模。 原型: double sin(double); double cos(double x); double tan(double x); double asin(double x); double acos(double x); double atan(double x); double atan2(double y, double x); 功能: 求三角函数和反三角函数。 原型: double sinh(double); double cosh(double x); double tanh(double x); 功能: 求双曲函数。 原型: double exp(double); double log(double x); double log10(double x); double pow(double x, double y); double sqrt(double x); 功能: 求指数、对数、幂函数和平方根。 原型: int max(int a,int b);