C语言标准库函数bsearch 详解

合集下载

C++程序设计常用库函数

C++程序设计常用库函数

C++程序设计常用库函数本文主要波及两类库函数,运转期库(run-time library) 和C++ 标准库。

下边简单介绍这些库的使用要点。

运转期库是用 C 语言实现的基础程序库,其余库都以此为基础。

MSDN 将运转期库按功能区分,如表 B-1 所示。

来自 MSDN Library Visual Studio 6.0Visual C++ DocumentationUsing Visual C++Visual C++ Programmers ’s GuideRun-Time Library ReferenceRun-Time Routines by Category表 B-1 运转期库分类功能有关头文件 ( 不完好 )可变参数用于定义可变参数的函数<stdarg.h>缓冲区管理按字节管理内存缓冲区<string.h><memory.h>按字节分类多字节字符分类,与目前多字节代码页有关<ctype.h>按字符分类对单字节字符、宽字符、多字节字符进行分<ctype.h>类。

比较常用,如 isalpha, isprint 。

数据变换一种数据变换到另一种,比如字符串到int <math.h><stdlib.h>或 double ,或反之。

有好多变换既有函数实现,也有宏实现,可选择。

调试程序debug 调试,函数库中有特意的调试版本,<assert.h><crtdbg.h>支持单步履行、断言、错误检测、异样,跟踪堆空间分派,防止内存泄漏,以及调试信息报告等。

目录控制读取或改变目录,创立、删除目录等,也包<stdlib.h><direct.h>括使用环境路径来搜寻文件错误办理包含断言、检测 IO 错误、消除错误标志、<assert.h><crtdbg.h><stdio.h>判断初级 IO 的文件尾 eof 等。

C语言标准库函数查询手册

C语言标准库函数查询手册

C语言标准库函数郝培林整理Aabort功能异常终止程序头文件stdlib.h语法void abort(void);abs功能整数的绝对值头文件stdlib.h语法int abs(int j);返回值整数 j 的绝对值。

如果不能表示 j 的绝对值,那么函数的行为是未定义的。

absread功能读磁盘绝对扇区函数头文件dos.h语法int absread(int drive,int num,int sectnum,void *buf)返回值0:成功;-1:失败。

abswrite功能写磁盘绝对扇区函数头文件dos.h语法int abswrite(int drive,int nsects,int lsect,void *buffer) drive=0(A 驱动器)、1(B 驱动器)、 nsects=要写的扇区数(最多 64K 个); lsect=起始逻辑扇区号; buffer=要写入数据的内存起始地址。

返回值0:成功;-1:失败。

acos功能反余弦头文件math.h语法math.hdouble acos(double x);返回值x 的反余弦值。

返回值的范围在 0 到π之间。

如果 x 的值不在−1 到+1 之间,那么就会发生定义域错误。

asctime功能把日期和时间转换成 ASCII 码头文件time.h语法char *asctime(const struct tm *timeptr);返回值指向以空字符结尾的字符串的指针。

asin功能反正弦头文件math.h语法double asin(double x);返回值x 的反正弦值。

返回值的范围在-π/2 到π/2 之间。

如果 x 的值不在-1 到+1 之间,那么就会发生定义域错误。

assert功能诊断表达式的真值头文件assert.h语法void assert(int expression);atan功能反正切头文件math.h 语法double atan(double x);返回值x 的反正切值。

标准库函数库 使用方法

标准库函数库 使用方法

标准库函数库使用方法1. abs(): 返回一个数的绝对值。

2. atoi(): 将一个字符串转换为整数。

3. atof(): 将一个字符串转换为浮点数。

4. strcmp(): 比较两个字符串。

5. strcpy(): 将一个字符串复制到另一个字符串。

6. strlen(): 返回一个字符串的长度。

7. strcat(): 将两个字符串连接起来。

8. strchr(): 在一个字符串中查找指定字符的第一次出现。

9. strstr(): 在一个字符串中查找指定子字符串的第一次出现。

10. sprintf(): 将格式化的数据写入一个字符串。

11. fopen(): 打开一个文件。

12. fclose(): 关闭一个文件。

13. fprintf(): 将格式化的数据写入一个文件。

14. fgets(): 从文件中读取一行字符串。

15. fread(): 从文件中读取一定数量的数据。

16. fwrite(): 将一定数量的数据写入文件。

17. fseek(): 设置文件指针的位置。

18. ftell(): 获取文件指针的当前位置。

19. feof(): 检查文件指针是否已到达文件末尾。

20. malloc(): 分配一块指定大小的内存。

21. free(): 释放先前分配的内存。

22. memset(): 将内存中的一块区域设置为指定的值。

23. memcpy(): 将一块内存中的数据复制到另一块内存中。

24. rand(): 返回一个随机数。

25. srand(): 设置随机数种子。

26. time(): 返回当前时间。

27. localtime(): 转换时间戳为本地时间。

28. printf(): 格式化输出数据到控制台。

29. scanf(): 从控制台读取输入数据。

30. getchar(): 从控制台读取单个字符。

31. putchar(): 将一个字符输出到控制台。

32. isalpha(): 检查一个字符是否为字母。

rbasic函数教程

rbasic函数教程

rbasic函数教程Basic是一种运算能力较弱的编程语言,因为它主要用于教学和简单的应用程序开发。

它是一种结构化的编程语言,以容易理解和易学的特点而闻名。

Basic的函数是一种帮助程序员组织和重复使用代码的方法。

函数是一段代码块,可以接受参数,并且可以返回一个值。

下面是一些Basic中常用的函数类型:1. 输入输出函数:Basic中有一些用于读取输入和输出结果的函数。

例如,PRINT函数用于将结果打印到屏幕上,INPUT函数用于从用户那里接收输入。

2. 字符串函数:Basic提供了一些用于执行字符串操作的函数。

例如,LEFT函数用于获取字符串的左边指定长度的子字符串,MID函数用于获取字符串中指定位置开始的子字符串,LEN函数用于获取字符串的字符数量等等。

3. 数学函数:Basic中提供了许多用于执行数学运算的函数。

例如,SQR函数用于计算一个数的平方根,ABS函数用于计算一个数的绝对值,INT函数用于将一个浮点数转换为整数等等。

4. 日期和时间函数:Basic提供了一些用于处理日期和时间的函数。

例如,DATE函数用于获取当前日期,TIME函数用于获取当前时间,DATEADD函数用于对日期进行加减操作等等。

5. 条件和逻辑函数:Basic中的条件和逻辑函数用于执行条件判断和逻辑运算。

例如,IF函数用于根据指定的条件执行不同的代码块,AND函数用于判断多个条件是否同时成立,OR函数用于判断多个条件是否有一个成立等等。

下面是一个使用Basic函数的示例程序:```basicDECLARE FUNCTION CalculateAverage (a, b, c)DECLARE SUB DisplayResult (result)a=10b=20c=30average = CalculateAverage(a, b, c)CALL DisplayResult(average)ENDFUNCTION CalculateAverage (a, b, c)total = a + b + caverage = total / 3CalculateAverage = averageENDFUNCTIONSUB DisplayResult (result)PRINT "The average is: "; resultENDSUB```在这个示例程序中,我们首先声明了一个函数CalculateAverage,它接受三个参数a、b和c,并返回它们的平均值。

linux下的c库函数大全

linux下的c库函数大全

linux下的c库函数大全,虽然没有函数描述,但是最起码可以知道分类,就可以去man 了[table=95%][tr][td][font=FixedSys]Linux C函数库参考手册第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ASCII码字符)isblank(测试字符是否为空格字符)iscntrl(测试字符是否为ASCII码的()控制字符)isdigit(测试字符是否为阿拉伯数字)isgraph(测试字符是否为可打印字符)islower(测试字符是否为小写英文字母)isprint(测试字符是否为可打印字符)isspace(测试字符是否为空格字符)ispunct(测试字符是否为标点符号或特殊符号)isupper(测试字符是否为大写英文字母)isxdigit(测试字符是否为16进制数字)第2章数据转换函数atof(将字符串转换成浮点型数)1atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)ecvt(将浮点型数转换成字符串,19取四舍五入)fcvt(将浮点型数转换为字符串,20取四舍五入)gcvt(将浮点型数转换为字符串,21取四舍五入)第3章内存配置函数alloca(配置内存空间)brk(改变数据字节的()范围)calloc(配置内存空间)free(释放原先配置的()内存)getpagesize(取得内存分页大小)malloc(配置内存空间)mmap(建立内存映射)munmap(解除内存映射)realloc(更改己配置的()内存空间)sbrk(增加程序可用的()数据空间)第4章时间函数asctime(将时间和日期以字符串格式表示)clock(取得进程占用CPU的()大约时间)ctime(将时间和日期以字符串格式表示)difftime(计算时间差距)ftime(取得目前的()时间和日期)gettimeofday(取得目前的()时间)gmtime(取得目前的()时间和日期)localtime(取得当地目前的()时间和日期)mktime(将时间结构数据转换成经过的()秒数)settimeofday(设置目前的()时间)strftime(格式化日期和时间)time(取得目前的()时间)tzset(设置时区以供时间转换)第5章字符串处理函数bcmp(比较内存内容)bcopy(拷贝内存内容)bzero(将一段内存内容全清为零)ffs(在一整型数中查找第一个值为真的()位)index(查找字符串中第一个出现的()指定字符)memccpy(拷贝内存内容)memchr(在某一内存范围中查找一特定字符)memcmp(比较内存内容)memcpy(拷贝内存内容)memfrob(对内存区域编码)memmove(拷贝内存内容)memset(将一段内存空间填入某值)rindex(查找字符串中最后一个出现的()指定字符) strcasecmp(忽略大小写比较字符串)strcat(连接两字符串)strchr(查找字符串中第一个出现的()指定字符)strcmp(比较字符串)strcoll(采用目前区域的()字符排列次序来比较字符串) strcpy(拷贝字符串)strcspn(返回字符串中连续不含指定字符串内容的()字符数) strdup(复制字符串)strfry(随机重组字符串内的()字符)strlen(返回字符串长度)strncasecmp(忽略大小写比较字符串)strncat(连接两字符串)strncmp(比较字符串)strncpy(拷贝字符串)strpbrk(查找字符串中第一个出现的()指定字符)strrchr(查找字符串中最后一个出现的()指定字符)strspn(返回字符串中连续不合指定字符串内容的()字符数) strstr(在一字符串中查找指定的()字符串)strtok(分割字符串)第6章数学计算函数abs(计算整型数的()绝对值)acos(取反余弦函数值)asin(取反正弦函数值)atan(取反正切函数值)atan2(取得反正切函数值)ceil(取不小于参数的()最小整型数)cos(取余弦函数值)cosh(取双曲线余弦函数值)div(取得两整型数相除后的()商及余数)exp(计算指数)fabs(计算浮点型数的()绝对值)frexp(将浮点型数分为底数与指数)hypot(计算直角三角形斜边长)labs(计算长整型数的()绝对值)ldexp(计算2的()次方值)ldiv(取得两长整数相除后的()商及余数)log(计算以e为底的()对数值)log10(计算以10为底的()对数值)modf(将浮点型数分解成整数与小数)pow(计算次方值)sin(取正弦函数值)sinh(取双曲线正弦函数值)sqrt(计算平方根值)tan(取正切函数值)tanh(取双曲线正切函数值)第7章用户和组函数cuserid(取得用户帐号名称)endgrent(关闭组文件)endpwent(关闭密码文件)endutent(关闭utmp文件)fgetgrent(从指定的()文件来读取组格式) fgetpwent(从指定的()文件来读取密码格式) getegid(取得有效的()组识别码)geteuid(取得有效的()用户识别码)getgid(取得真实的()组识别码)getgrent(从组文件文件中取得帐号的()数据) getgrgid(从组文件中取得指定gid的()数据) getgrnan(从组文件中取得指定组的()数据) getgroups(取得组代码)getlogin(取得登录的()用户帐号名称)getpw(取得指定用户的()密码文件数据) getpwent(从密码文件中取得帐号的()数据) getpwnam(从密码文件中取得指定帐号的()数据) getpwuid(从密码文件中取得指定uid的()数据) getuid(取得真实的()用户识别码)getutent(从utmp文件中取得帐号登录数据)getutid(从utmp文件中查找特定的()记录) getutline(从utmp文件中查找特定的()记录) initgroups(初始化组清单)logwtmp(将一登录数据记录到wtmp文件)pututline(将utmp记录写入文件)setegid(设置有效的()组识别码)seteuid(设置有效的()用户识别码)setfsgid(设置文件系统的()组识别码) setfsuid(设置文件系统的()用户识别码) setgid(设置真实的()组识别码)setgrent(从头读取组文件中的()组数据) setgroups(设置组代码)setpwent(从头读取密码文件中的()帐号数据) setregid(设置真实及有效的()组识别码) setreuid(设置真实及有效的()用户识别码) setuid(设置真实的()用户识别码)setutent(从头读取utmp/文件中的()登录数据) updwtmp(将一登录数据记录到wtmp文件)utmpname(设置utmp文件路径)第8章数据加密函数crypt(将密码或数据编码)getpass(取得一密码输入)第9章数据结构函数bsearch(二元搜索)hcreate(建立哈希表)hdestory(删除哈希表)hsearch(哈希表搜索)insque(加入一项目至队列中)lfind(线性搜索)lsearch(线性搜索)qsort(利用快速排序法排列数组)rremque(从队列中删除一项目)tdelete(从二叉树中删除数据)tfind(搜索二叉树)tsearch(二叉树)twalk(走访二叉树)第10章随机数函数drand48(产生一个正的()浮点型随机数) erand48(产生一个正的()浮点型随机数) initstate(建立随机数状态数组)jrand48(产生一个长整型数随机数)lcong48(设置48位运算的()随机数种子) lrand48(产生一个正的()长整型随机数) mrand48(产生一个长整型随机数)nrand48(产生一个正的()长整型随机数) rand(产生随机数)random(产生随机数)seed48(设置48位运算的()随机数种子)setstate(建立随机数状态数组)srand(设置随机数种子)srand48(设置48位运算的()随机数种子) srandom(设置随机数种子)第11章初级I/O函数close(关闭文件)creat(建立文件)dup(复制文件描述词)dup2(复制文件描述词)fcntl(文件描述词操作)flock(锁定文件或解除锁定)fsync(将缓冲区数据写回磁盘)lseek(移动文件的()读写位置)mkstemp(建立唯一的()临时文件)open(打开文件)read(由己打开的()文件读取数据)sync(将缓冲区数据写回磁盘)write(将数据写入已打开的()文件内)第12章标准I/O函数clearerr(清除文件流的()错误旗标)fclose(关闭文件)fdopen(将文件描述词转为文件指针)feof(检查文件流是否读到了文件尾)fflush(更新缓冲区)fgetc(由文件中读取一个字符)fgetpos(取得文件流的()读取位置)fgets(由文件中读取一字符串)fileno(返回文件流所使用的()文件描述词) fopen(打开文件)fputc(将一指定字符写入文件流中)fputs(将一指定的()字符串写入文件内) fread(从文件流读取数据)freopen(打开文件)fseek(移动文件流的()读写位置)fsetpos(移动文件流的()读写位置)ftell(取得文件流的()读取位置)fwrite(将数据写至文件流)getc(由文件中读取一个字符)getchar(由标准输入设备内读进一字符)gets(由标准输入设备内读进一字符串)mktemp(产生唯一的()临时文件文件名) putc(将一指定字符写入文件中)putchar(将指定的()字符写到标准输出设备) puts(将指定的()字符串写到标准输出设备)rewind(重设文件流的()读写位置为文件开头) setbuf(设置文件流的()缓冲区)setbuffer(设置文件流的()缓冲区)setlinebuf(设置文件流为线性缓冲区)setvbuf(设置文件流的()缓冲区)tmpfile(建立临时文件)ungetc(将一指定字符写回文件流中)第13章进程及流程控制abort(以异常方式结束进程)assert(若测试的()条件不成立则终止进程)atexit(设置程序正常结束前调用的()函数)execl(执行文件)execle(执行文件)execlp(从PATH环境变量中查找文件并执行)execv(执行文件)execve(执行文件)execvp(执行文件)exit(正常结束进程)_exit(结束进程执行)fork(建立一个新的()进程)getpgid(取得进程组识别码)getpgrp(取得进程组识别码)getpid(取得进程识别码)getppid(取得父进程的()进程识别码)getpriority(取得程序进程执行优先权)longjmp(跳转到原先setjmp保存的()堆栈环境)nice(改变进程优先顺序)on_exit(设置程序正常结束前调用的()函数) ptrace(进程追踪)setjmp(保存目前堆栈环境)setpgid(设置进程组识别码)setpgrp(设置进程组识别码)setpriority(设置程序进程执行优先权)siglongjmp(跳转到原先sigsetjmp保存的()堆栈环境) sigsetjmp(保存目前堆栈环境)system(执行shell命令)wait(等待子进程中断或结束)waitpid(等待子进程中断或结束)第14章格式化输人输出函数fprintf(格式化输出数据至文件)fscanf(格式化字符串输入)printf(格式化输出数据)scanf(格式化字符串输入)snprintf(格式化字符串复制)sprintf(格式化字符串复制)sscanf(格式化字符串输入)vfprintf(格式化输出数据至文件)vfcanf(格式化字符串输入)vprintf(格式化输出数据)vscanf(格式化字符串输入)vsnprintf(格式化字符串复制)vsprintf(格式化字符串复制)vsscanf(格式化字符串输入)第15章文件及目录函数access(判断是否具有存取文件的()权限) alphasort(依字母顺序排序目录结构)chdir(改变当前的()工作目录)chmod(改变文件的()权限)chown(改变文件的()所有者)chroot(改变根目录)closedir(关闭目录)fchdir(改变当前的()工作目录)fchmod(改变文件的()权限)fchown(改变文件的()所有者)fstat(由文件描述词取得文件状态)ftruncate(改变文件大小)ftw(遍历目录树)get_current_dir_name(取得当前的()工作目录) getcwd(取得当前的()工作目录)getwd(取得当前的()工作目录)lchown(改变文件的()所有者)link(建立文件连接)lstat(由文件描述词取得文件状态)nftw(遍历目录树)opendir(打开目录)readdir(读取目录)readlink(取得符号连接所指的()文件) realpath(将相对目录路径转换成绝对路径)remove(删除文件)rename(更改文件名称或位置)rewinddir(重设读取目录的()位置为开头位置) scandir(读取特定的()目录数据)seekdir(设置下回读取目录的()位置)stat(取得文件状态)symlink(建立文件符号连接)telldir(取得目录流的()读取位置)truncate(改变文件大小)umask(设置建立新文件时的()权限遮罩)unlink(删除文件)utime(修改文件的()存取时间和更改时间) utimes(修改文件的()存取时间和更改时间)第16章信号函数alarm(设置信号传送闹钟)kill(传送信号给指定的()进程)pause(让进程暂停直到信号出现)psignal(列出信号描述和指定字符串)raise(传送信号给目前的()进程)sigaction(查询或设置信号处理方式)sigaddset(增加一个信号至信号集)sigdelset(从信号集里删除一个信号)sigemptyset(初始化信号集)sigfillset(将所有信号加入至信号集)sigismember(测试某个信号是否已加入至信号集里)signal(设置信号处理方式)sigpause(暂停直到信号到来)sigpending(查询被搁置的()信号)sigprocmask(查询或设置信号遮罩)sigsuspend(暂停直到信号到来)sleep(让进程暂停执行一段时间)isdigit(测试字符是否为阿拉伯数字)第17章错误处理函数ferror(检查文件流是否有错误发生)perror(打印出错误原因信息字符串)streror(返回错误原因的()描述字符串)第18章管道相关函数mkfifo(建立具名管道)pclose(关闭管道I/O)pipe(建立管道)popen(建立管道I/O)第19章Soket相关函数accept(接受socket连线)bind(对socket定位)connect(建立socket连线)endprotoent(结束网络协议数据的()读取) endservent(结束网络服务数据的()读取) gethostbyaddr(由IP地址取得网络数据)gethostbyname(由主机名称取得网络数据) getprotobyname(由网络协议名称取得协议数据) getprotobynumber(由网络协议编号取得协议数据) getprotoent(取得网络协议数据)getservbyname(依名称取得网络服务的()数据) getservbyport(依port号码取得网络服务的()数据)getservent(取得主机网络服务的()数据) getsockopt(取得socket状态)herror(打印出网络错误原因信息字符串)hstrerror(返回网络错误原因的()描述字符串) htonl(将32位主机字符顺序转换成网络字符顺序)htons(将16位主机字符顺序转换成网络字符顺序)inet_addr(将网络地址转成网络二进制的()数字) inet_aton(将网络地址转成网络二进制的()数字) inet_ntoa(将网络二进制的()数字转换成网络地址) listen(等待连接)ntohl(将32位网络字符顺序转换成主机字符顺序)ntohs(将16位网络字符顺序转换成主机字符顺序)recv(经socket接收数据)recvfrom(经socket接收数据)recvmsg(经socket接收数据)send(经socket传送数据)sendmsg(经socket传送数据)sendto(经socket传送数据)setprotoent(打开网络协议的()数据文件) setservent(打开主机网络服务的()数据文件) setsockopt(设置socket状态)shutdown(终止socket通信)socket(建立一个socket通信)第20章进程通信(IPC)函数ftok(将文件路径和计划代号转为SystemcVIPCkey)msgctl(控制信息队列的()运作)msgget(建立信息队列)msgrcv(从信息队列读取信息)msgsnd(将信息送入信息队列)semctl(控制信号队列的()操作)semget(配置信号队列)semop(信号处理)shmat(attach共享内存)shmctl(控制共享内存的()操作)shmdt(detach共享内存)shmget(配置共享内存)第21章记录函数closelog(关闭信息记录)openlog(准备做信息记录)syslog(将信息记录至系统日志文件)第22章环境变量函数getenv(取得环境变量内容)putenv(改变或增加环境变量)setenv(改变或增加环境变量)unsetenv(清除环境变量内容)第23章正则表达式regcomp(编译正则表达式字符串)regerror(取得正则搜索的()错误原因) regexec(进行正则表达式的()搜索) regfree(释放正则表达式使用的()内存) 第24章动态函数dlclose(关闭动态函数库文件)dlerror(动态函数错误处理)dlopen(打开动态函数库文件)dlsym(从共享对象中搜索动态函数)第25章其他函数getopt(分析命令行参数)isatty(判断文件描述词是否是为终端机)select(I/O多工机制)ttyname(返回一终端机名称)。

c语言的bsearch函数

c语言的bsearch函数

c语言的bsearch函数C语言的bsearch函数在C语言中,bsearch函数是一种用于在有序数组中进行二分查找的函数。

该函数可以帮助我们快速地找到目标元素在数组中的位置,或者判断目标元素是否存在于数组中。

bsearch函数的原型如下:```cvoid *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));```其中,参数key表示要查找的目标元素;参数base表示有序数组的起始位置;参数nmemb表示数组中元素的个数;参数size表示每个元素的大小;参数compar是一个指向比较函数的指针,用于定义比较两个元素的规则。

bsearch函数的工作原理是通过不断地将数组分成两半,然后比较目标元素与数组中间元素的大小关系,从而确定目标元素在数组中的位置。

具体来说,bsearch函数首先将数组的中间元素与目标元素进行比较,如果相等,则返回指向该元素的指针;如果目标元素小于中间元素,则在数组的前半部分继续查找;如果目标元素大于中间元素,则在数组的后半部分继续查找。

这样,通过不断地缩小查找范围,最终可以找到目标元素或确定目标元素不存在于数组中。

使用bsearch函数需要注意以下几点:1. 数组必须是有序的,否则bsearch函数无法正常工作。

如果数组中的元素是按照递增或递减的顺序排列的,则可以使用bsearch函数进行查找。

2. 比较函数必须满足一定的条件。

比较函数的原型为int (*compar)(const void *, const void *),它接受两个参数,分别是要比较的两个元素的指针。

比较函数需要返回一个整数值,表示两个元素的大小关系。

如果第一个元素小于第二个元素,则返回一个负数;如果两个元素相等,则返回0;如果第一个元素大于第二个元素,则返回一个正数。

Access函数大全

Access函数大全

Abs 函数返回参数的绝对值,其类型和参数相同。

语法Abs(number)必要的number参数是任何有效的数值表达式,如果number 包含 Null,则返回Null,如果number 是未初始化的变量,则返回 0。

说明一个数的绝对值是将正负号去掉以后的值。

例如,ABS(-1) 和 ABS(1) 都返回 1。

Array 函数返回一个包含数组的 Variant。

语法Array(arglist)所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。

如果不提供参数,则创建一个长度为 0 的数组。

说明用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。

在下面的示例中,第一条语句创建一个Variant 的变量 A。

第二条语句将一个数组赋给变量 A。

最后一条语句将该数组的第二个元素的值赋给另一个变量。

Dim A As VariantA = Array(10,20,30)B = A(2)使用Array函数创建的数组的下界受Option Base语句指定的下界的决定, 除非Array是由类型库(例如VBA.Array )名称限定。

如果是由类型库名称限定,则Array不受Option Base的影响。

注意没有作为数组声明的Variant 也可以表示数组。

除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。

尽管一个包含数组的Variant 和一个元素为Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。

Asc 函数返回一个 Integer,代表字符串中首字母的字符代码。

语法Asc(string)必要的string 参数可以是任何有效的字符串表达式。

如果string中没有包含任何字符,则会产生运行时错误。

说明在非 DBCS 系统下,返回值范围为 0 – 255 。

在 DBCS 系统下,则为 -32768 – 32767。

C语言函数大全

C语言函数大全

C语言函数目录:A函数名: abort功能: 异常终止一个进程函数名: abs功能: 求整数的绝对值函数名: absread, abswirte功能: 绝对磁盘扇区读、写数据函数名: access功能: 确定文件的访问权限函数名: acos功能: 反余弦函数函数名: allocmem功能: 分配DOS存储段函数名: arc功能: 画一弧线函数名: asctime功能: 转换日期和时间为ASCII码函数名: asin功能: 反正弦函数函数名: assert功能: 测试一个条件并可能使程序终止函数名: atan功能: 反正切函数函数名: atan2功能: 计算Y/X的反正切值函数名: atexit功能: 注册终止函数函数名: atof功能: 把字符串转换成浮点数函数名: atoi功能: 把字符串转换成长整型数函数名: atol功能: 把字符串转换成长整型数B函数名: bar功能: 画一个二维条形图函数名: bar3d功能: 画一个三维条形图函数名: bdos功能: DOS系统调用函数名: bdosptr功能: DOS系统调用函数名: bioscom功能: 串行I/O通信函数名: biosdisk功能: 软硬盘I/O函数名: biosequip功能: 检查设备函数名: bioskey功能: 直接使用BIOS服务的键盘接口函数名: biosmemory功能: 返回存储块大小函数名: biostime功能: 读取或设置BIOS时间函数名: brk功能: 改变数据段空间分配函数名: bsearch功能: 二分法搜索C函数名: cabs功能: 计算复数的绝对值函数名: calloc功能: 分配主存储器函数名: ceil功能: 向上舍入函数名: cgets功能: 从控制台读字符串函数名: chdir功能: 改变工作目录函数名: _chmod, chmod功能: 改变文件的访问方式函数名: chsize功能: 改变文件大小函数名: circle功能: 在给定半径以(x, y)为圆心画圆函数名: cleardevice功能: 清除图形屏幕函数名: clearerr功能: 复位错误标志函数名: clearviewport功能: 清除图形视区函数名: _close, close功能: 关闭文件句柄函数名: clock功能: 确定处理器时间函数名: closegraph功能: 关闭图形系统函数名: clreol功能: 在文本窗口中清除字符到行末功能: 清除文本模式窗口函数名: clrscr函数名: coreleft功能: 返回未使用内存的大小函数名: cos功能: 余弦函数函数名: cosh功能: 双曲余弦函数函数名: country功能: 返回与国家有关的信息函数名: cprintf功能: 送格式化输出至屏幕函数名: cputs功能: 写字符到屏幕函数名: _creat creat功能: 创建一个新文件或重写一个已存在的文件函数名: creatnew功能: 创建一个新文件函数名: creattemp功能: 创建一个新文件或重写一个已存在的文件函数名: cscanf功能: 从控制台执行格式化输入函数名: ctime功能: 把日期和时间转换为字符串函数名: ctrlbrk功能: 设置Ctrl-Break处理程序D函数名: delay功能: 将程序的执行暂停一段时间(毫秒)函数名: delline功能: 在文本窗口中删去一行函数名: detectgraph功能: 通过检测硬件确定图形驱动程序和模式函数名: difftime功能: 计算两个时刻之间的时间差函数名: disable功能: 屏蔽中断函数名: div功能: 将两个整数相除, 返回商和余数函数名: dosexterr功能: 获取扩展DOS错误信息函数名: dostounix功能: 转换日期和时间为UNIX时间格式函数名: drawpoly功能: 画多边形函数名: dup功能: 复制一个文件句柄函数名: dup2功能: 复制文件句柄E函数名: ecvt功能: 把一个浮点数转换为字符串函数名: ellipse功能: 画一椭圆函数名: enable功能: 开放硬件中断函数名: eof功能: 检测文件结束函数名: exec...功能: 装入并运行其它程序的函数函数名: exit功能: 终止程序F函数名: fabs功能: 返回浮点数的绝对值函数名: farcalloc功能: 从远堆栈中申请空间函数名: farcoreleft功能: 返回远堆中未作用存储区大小函数名: farfree功能: 从远堆中释放一块函数名: farmalloc功能: 从远堆中分配存储块函数名: farrealloc功能: 调整远堆中的分配块函数名: fclose功能: 关闭一个流函数名: fcloseall功能: 关闭打开流函数名: fcvt功能: 把一个浮点数转换为字符串函数名: fdopen功能: 把流与一个文件句柄相接函数名: feof功能: 检测流上的文件结束符函数名: ferror功能: 检测流上的错误函数名: fflush功能: 清除一个流函数名: fgetc功能: 从流中读取字符函数名: fgetchar功能: 从流中读取字符函数名: fgetpos功能: 取得当前文件的句柄函数名: fgets功能: 从流中读取一字符串函数名: filelength功能: 取文件长度字节数函数名: fillellipse功能: 画出并填充一椭圆函数名: fillpoly功能: 画并填充一个多边形函数名: findfirst, findnext功能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件函数名: floodfill功能: 填充一个有界区域函数名: floor功能: 向下舍入函数名: flushall功能: 清除所有缓冲区函数名: fmod功能: 计算x对y的模, 即x/y的余数函数名: fnmerge功能: 建立新文件名函数名: fopen功能: 打开一个流函数名: fprintf功能: 传送格式化输出到一个流中函数名: FP_OFF功能: 获取远地址偏移量函数名: FP_SEG功能: 获取远地址段值函数名: fputc功能: 送一个字符到一个流中函数名: fputchar功能: 送一个字符到标准输出流(stdout)中函数名: fputs功能: 送一个字符到一个流中函数名: fread功能: 从一个流中读数据函数名: free功能: 释放已分配的块函数名: freemem功能: 释放先前分配的DOS内存块函数名: freopen功能: 替换一个流函数名: frexp功能: 把一个双精度数分解为尾数的指数函数名: fscanf功能: 从一个流中执行格式化输入函数名: fseek功能: 重定位流上的文件指针函数名: fsetpos功能: 定位流上的文件指针函数名: fstat功能: 获取打开文件信息函数名: ftell功能: 返回当前文件指针函数名: fwrite功能: 写内容到流中G函数名: gcvt功能: 把浮点数转换成字符串函数名: geninterrupt功能: 产生一个软中断函数名: getarccoords功能: 取得最后一次调用arc的坐标函数名: getaspectratio功能: 返回当前图形模式的纵横比函数名: getbkcolor功能: 返回当前背景颜色函数名: getc功能: 从流中取字符函数名: getcbrk功能: 获取Control_break设置函数名: getch功能: 从控制台无回显地取一个字符函数名: getchar功能: 从stdin流中读字符函数名: getche功能: 从控制台取字符(带回显)函数名: getcolor功能: 返回当前画线颜色函数名: getcurdir功能: 取指定驱动器的当前目录函数名: getcwd功能: 取当前工作目录函数名: getdate功能: 取DOS日期函数名: getdefaultpalette功能: 返回调色板定义结构函数名: getdisk功能: 取当前磁盘驱动器号函数名: getdrivername功能: 返回指向包含当前图形驱动程序名字的字符串指针函数名: getdta功能: 取磁盘传输地址函数名: getenv功能: 从环境中取字符串函数名: getfat, getfatd功能: 取文件分配表信息函数名: getfillpattern功能: 将用户定义的填充模式拷贝到内存中函数名: getfillsettings功能: 取得有关当前填充模式和填充颜色的信息函数名: getftime功能: 取文件日期和时间函数名: getgraphmode功能: 返回当前图形模式函数名: getftime功能: 取文件日期和时间函数名: getgraphmode功能: 返回当前图形模式函数名: getimage功能: 将指定区域的一个位图存到主存中函数名: getlinesettings功能: 取当前线型、模式和宽度函数名: getmaxcolor功能: 返回可以传给函数setcolor的最大颜色值函数名: getmaxx功能: 返回屏幕的最大x坐标函数名: getmaxy功能: 返回屏幕的最大y坐标函数名: getmodename功能: 返回含有指定图形模式名的字符串指针函数名: getmoderange功能: 取给定图形驱动程序的模式范围函数名: getpalette功能: 返回有关当前调色板的信息函数名: getpass功能: 读一个口令函数名: getpixel功能: 取得指定像素的颜色函数名: gets功能: 从流中取一字符串函数名: gettext功能: 将文本方式屏幕上的文本拷贝到存储区函数名: gettextinfo功能: 取得文本模式的显示信息函数名: gettextsettings功能: 返回有关当前图形文本字体的信息函数名: gettime功能: 取得系统时间函数名: getvect功能: 取得中断向量入口函数名: getverify功能: 返回DOS校验标志状态函数名: getviewsetting功能: 返回有关当前视区的信息函数名: getw功能: 从流中取一整数函数名: getx功能: 返回当前图形位置的x坐标函数名: gety功能: 返回当前图形位置的y坐标函数名: gmtime功能: 把日期和时间转换为格林尼治标准时间(GMT)函数名: gotoxy功能: 在文本窗口中设置光标函数名: gotoxy功能: 在文本窗口中设置光标函数名: graphdefaults功能: 将所有图形设置复位为它们的缺省值函数名: grapherrormsg功能: 返回一个错误信息串的指针函数名: graphresult功能: 返回最后一次不成功的图形操作的错误代码函数名: _graphfreemem功能: 用户可修改的图形存储区释放函数函数名: _graphgetmem功能: 用户可修改的图形存储区分配函数H函数名: harderr功能: 建立一个硬件错误处理程序函数名: hardresume功能: 硬件错误处理函数函数名: highvideo功能: 选择高亮度文本字符函数名: hypot功能: 计算直角三角形的斜边长I函数名: imagesize功能: 返回保存位图像所需的字节数函数名: initgraph功能: 初始化图形系统函数名: inport功能: 从硬件端口中输入函数名: insline功能: 在文本窗口中插入一个空行函数名: installuserdriver功能: 安装设备驱动程序到BGI设备驱动程序表中函数名: installuserfont功能: 安装未嵌入BGI系统的字体文件(CHR)函数名: int86功能: 通用8086软中断接口函数名: int86x功能: 通用8086软中断接口函数名: intdos功能: 通用DOS接口函数名: intdosx功能: 通用DOS中断接口函数名: intr功能: 改变软中断接口函数名: ioctl功能: 控制I/O设备函数名: isatty功能: 检查设备类型函数名: itoa功能: 把一整数转换为字符串K函数名: kbhit功能: 检查当前按下的键函数名: keep功能: 退出并继续驻留L函数名: labs功能: 取长整型绝对值函数名: ldexp功能: 计算value*2的幂函数名: ldiv功能: 两个长整型数相除, 返回商和余数函数名: lfind功能: 执行线性搜索函数名: line功能: 在指定两点间画一直线函数名: linerel功能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线函数名: localtime功能: 把日期和时间转变为结构函数名: lock功能: 设置文件共享锁函数名: log功能: 对数函数ln(x)函数名: log10功能: 对数函数log函数名: longjump功能: 执行非局部转移函数名: lowvideo功能: 选择低亮度字符函数名: lrotl, _lrotl功能: 将无符号长整型数向左循环移位函数名: lsearch功能: 线性搜索函数名: lseek功能: 移动文件读/写指针Mmain()主函数函数名: memccpy功能: 从源source中拷贝n个字节到目标destin中函数名: malloc功能: 内存分配函数函数名: memchr功能: 在数组的前n个字节中搜索字符函数名: memcpy功能: 从源source中拷贝n个字节到目标destin中函数名: memicmp功能: 比较两个串s1和s2的前n个字节, 忽略大小写函数名: memmove功能: 移动一块字节函数名: memset功能: 设置s中的所有字节为ch, s数组的大小由n给定函数名: mkdir功能: 建立一个目录函数名: mktemp功能: 建立唯一的文件名函数名: MK_FP功能: 设置一个远指针函数名: modf功能: 把数分为指数和尾数函数名: movedata功能: 拷贝字节函数名: moverel功能: 将当前位置(CP)移动一相对距离函数名: movetext功能: 将屏幕文本从一个矩形区域拷贝到另一个矩形区域函数名: moveto功能: 将CP移到(x, y)函数名: movemem功能: 移动一块字节N函数名: normvideo功能: 选择正常亮度字符函数名: nosound功能: 关闭PC扬声器O函数名: open功能: 打开一个文件用于读或写函数名: outport功能: 输出整数到硬件端口中函数名: outportb功能: 输出字节到硬件端口中函数名: outtext功能: 在视区显示一个字符串函数名: outtextxy功能: 在指定位置显示一字符串P函数名: parsfnm功能: 分析文件名函数名: peek功能: 检查存储单元函数名: peekb功能: 检查存储单元函数名: perror功能: 系统错误信息函数名: pieslice功能: 绘制并填充一个扇形函数名: poke功能: 存值到一个给定存储单元函数名: pokeb功能: 存值到一个给定存储单元函数名: poly功能: 根据参数产生一个多项式函数名: pow功能: 指数函数(x的y次方)函数名: pow10功能: 指数函数(10的p次方)函数名: printf功能: 产生格式化输出的函数函数名: putc功能: 输出一字符到指定流中函数名: putch功能: 输出字符到控制台函数名: putchar功能: 在stdout上输出字符函数名: putenv功能: 把字符串加到当前环境中函数名: putimage功能: 在屏幕上输出一个位图函数名: putpixel功能: 在指定位置画一像素函数名: puts功能: 送一字符串到流中函数名: puttext功能: 将文本从存储区拷贝到屏幕函数名: putw功能: 把一字符或字送到流中Q函数名: qsort功能: 使用快速排序例程进行排序R函数名: raise功能: 向正在执行的程序发送一个信号函数名: rand功能: 随机数发生器函数名: randbrd功能: 随机块读函数名: randbwr功能: 随机块写函数名: random功能: 随机数发生器函数名: randomize功能: 初始化随机数发生器函数名: read功能: 从文件中读函数名: realloc功能: 重新分配主存函数名: rectangle功能: 画一个矩形函数名: registerbgidriver功能: 登录已连接进来的图形驱动程序代码函数名: remove功能: 删除一个文件函数名: rename功能: 重命名文件函数名: restorecrtmode功能: 将屏幕模式恢复为先前的imitgraph设置函数名: rewind功能: 将文件指针重新指向一个流的开头函数名: rmdir功能: 删除DOS文件目录S函数名: sbrk功能: 改变数据段空间位置函数名: scanf功能: 执行格式化输入函数名: searchpath功能: 搜索DOS路径函数名: sector功能: 画并填充椭圆扇区函数名: segread功能: 读段寄存器值函数名: setactivepage功能: 设置图形输出活动页函数名: setallpallette功能: 按指定方式改变所有的调色板颜色函数名: setaspectratio功能: 设置图形纵横比函数名: setbkcolor功能: 用调色板设置当前背景颜色函数名: setblock功能: 修改先前已分配的DOS存储段大小函数名: setbuf功能: 把缓冲区与流相联函数名: setcbrk功能: 设置Control-break函数名: setcolor功能: 设置当前画线颜色函数名: setdate功能: 设置DOS日期函数名: setdisk功能: 设置当前磁盘驱动器函数名: setdta功能: 设置磁盘传输区地址函数名: setfillpattern功能: 选择用户定义的填充模式函数名: setfillstyle功能: 设置填充模式和颜色函数名: setftime功能: 设置文件日期和时间函数名: setgraphbufsize功能: 改变内部图形缓冲区的大小函数名: setgraphmode功能: 将系统设置成图形模式且清屏函数名: setjmp功能: 非局部转移函数名: setlinestyle功能: 设置当前画线宽度和类型函数名: setmem功能: 存值到存储区函数名: setmode功能: 设置打开文件方式函数名: setpalette功能: 改变调色板的颜色函数名: setrgbpalette功能: 定义IBM8514图形卡的颜色函数名: settextjustify功能: 为图形函数设置文本的对齐方式函数名: settextstyle功能: 为图形输出设置当前的文本属性函数名: settextstyle功能: 为图形输出设置当前的文本属性函数名: settime功能: 设置系统时间函数名: setusercharsize功能: 为矢量字体改变字符宽度和高度函数名: setvbuf功能: 把缓冲区与流相关函数名: setvect功能: 设置中断矢量入口函数名: setverify功能: 设置验证状态函数名: setviewport功能: 为图形输出设置当前视口函数名: setvisualpage功能: 设置可见图形页号函数名: setwritemode功能: 设置图形方式下画线的输出模式函数名: signal功能: 设置某一信号的对应动作函数名: sin功能: 正弦函数函数名: sinh功能: 双曲正弦函数函数名: sleep功能: 执行挂起一段时间函数名: sopen功能: 打开一共享文件函数名: sound功能: 以指定频率打开PC扬声器函数名: spawnl功能: 创建并运行子程序函数名: spawnle功能: 创建并运行子程序函数名: sprintf功能: 送格式化输出到字符串中函数名: sqrt功能: 计算平方根函数名: srand功能: 初始化随机数发生器函数名: sscanf功能: 执行从字符串中的格式化输入函数名: stat功能: 读取打开文件信息函数名: _status87功能: 取浮点状态函数名: stime功能: 设置时间函数名: stpcpy功能: 拷贝一个字符串到另一个函数名: strcat功能: 字符串拼接函数函数名: strchr功能: 在一个串中查找给定字符的第一个匹配之处\函数名: strcmp功能: 串比较函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写函数名: strcpy功能: 串拷贝函数名: strcspn功能: 在串中查找第一个给定字符集内容的段函数名: strdup功能: 将串拷贝到新建的位置处函数名: stricmp功能: 以大小写不敏感方式比较两个串函数名: strerror功能: 返回指向错误信息字符串的指针函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写函数名: strncmp功能: 串比较函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写函数名: strncpy功能: 串拷贝函数名: strnicmp功能: 不注重大小写地比较两个串函数名: strnset功能: 将一个串中的所有字符都设为指定字符函数名: strpbrk功能: 在串中查找给定字符集中的字符函数名: strrchr功能: 在串中查找指定字符的最后一个出现函数名: strrev功能: 串倒转函数名: strset功能: 将一个串中的所有字符都设为指定字符函数名: strspn功能: 在串中查找指定字符集的子集的第一次出现函数名: strstr功能: 在串中查找指定字符串的第一次出现函数名: strtod功能: 将字符串转换为double型值函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词函数名: strtol功能: 将串转换为长整数函数名: strupr功能: 将串中的小写字母转换为大写字母函数名: swab功能: 交换字节函数名: system功能: 发出一个DOS命令T函数名: tan功能: 正切函数函数名: tanh功能: 双曲正切函数函数名: tell功能: 取文件指针的当前位置函数名: textattr功能: 设置文本属性函数名: textbackground功能: 选择新的文本背景颜色函数名: textcolor功能: 在文本模式中选择新的字符颜色函数名: textheight功能: 返回以像素为单位的字符串高度函数名: textmode功能: 将屏幕设置成文本模式函数名: textwidth功能: 返回以像素为单位的字符串宽度函数名: time功能: 取一天的时间函数名: tmpfile功能: 以二进制方式打开暂存文件函数名: tmpnam功能: 创建一个唯一的文件名函数名: tolower功能: 把字符转换成小写字母函数名: toupper功能: 把字符转换成大写字母函数名: tzset功能: UNIX时间兼容函数U函数名: ultoa功能: 转换一个无符号长整型数为字符串函数名: ungetc功能: 把一个字符退回到输入流中函数名: ungetch功能: 把一个字符退回到键盘缓冲区中函数名: unixtodos功能: 把日期和时间转换成DOS格式函数名: unlink功能: 删掉一个文件函数名: unlock功能: 解除文件共享锁V函数名: vfprintf功能: 送格式化输出到一流中函数名: vfscanf功能: 从流中执行格式化输入函数名: vprintf功能: 送格式化输出到stdout中函数名: vscanf功能: 从stdin中执行格式化输入函数名: vsprintf功能: 送格式化输出到串中函数名: vsscanf功能: 从流中执行格式化输入W函数名: wherex功能: 返回窗口内水平光标位置函数名: wherey功能: 返回窗口内垂直光标位置函数名: window功能: 定义活动文本模式窗口函数名: write功能: 写到一文件中A函数名: abort功能: 异常终止一个进程用法: void abort(void);程序例:#include <stdio.h>#include <stdlib.h>int main(void){printf("Calling abort()¥n");abort();return 0; /* This is never reached */}函数名: abs功能: 求整数的绝对值用法: int abs(int i);程序例:#include <stdio.h>#include <math.h>int main(void){int number = -1234;printf("number: %d absolute value: %d¥n", number, abs(number));return 0;}函数名: absread, abswirte功能: 绝对磁盘扇区读、写数据用法: int absread(int drive, int nsects, int sectno, void *buffer); int abswrite(int drive, int nsects, in tsectno, void *buffer);程序例:/* absread example */#include <stdio.h>#include <conio.h>#include <process.h>#include <dos.h>int main(void){int i, strt, ch_out, sector;char buf[512];printf("Insert a diskette into drive A and press any key¥n"); getch();sector = 0;if (absread(0, 1, sector, &buf) != 0){perror("Disk problem");exit(1);}printf("Read OK¥n");strt = 3;for (i=0; i<80; i++){ch_out = buf[strt+i];putchar(ch_out);}printf("¥n");return(0);}函数名: access功能: 确定文件的访问权限用法: int access(const char *filename, int amode); 程序例:#include <stdio.h>#include <io.h>int file_exists(char *filename);int main(void){printf("Does NOTEXIST.FIL exist: %s¥n",file_exists("NOTEXISTS.FIL") ? "YES" : "NO"); return 0;}int file_exists(char *filename){return (access(filename, 0) == 0);}函数名: acos功能: 反余弦函数用法: double acos(double x);程序例:#include <stdio.h>#include <math.h>int main(void){double result;double x = 0.5;result = acos(x);printf("The arc cosine of %lf is %lf¥n", x, result);return 0;}函数名: allocmem功能: 分配DOS存储段用法: int allocmem(unsigned size, unsigned *seg);程序例:#include <dos.h>#include <alloc.h>#include <stdio.h>int main(void){unsigned int size, segp;int stat;size = 64; /* (64 x 16) = 1024 bytes */stat = allocmem(size, &segp);if (stat == -1)printf("Allocated memory at segment: %x¥n", segp); elseprintf("Failed: maximum number of paragraphs available is %u¥n",stat);return 0;}函数名: arc功能: 画一弧线用法: void far arc(int x, int y, int stangle, int endangle, int radius); 程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){/* request auto detection */int gdriver = DETECT, gmode, errorcode;int midx, midy;int stangle = 45, endangle = 135;int radius = 100;/* initialize graphics and local variables */initgraph(&gdriver, &gmode, "");/* read result of initialization */errorcode = graphresult(); /* an error occurred */if (errorcode != grOk){printf("Graphics error: %s¥n", grapherrormsg(errorcode));printf("Press any key to halt:");getch();exit(1); /* terminate with an error code */}midx = getmaxx() / 2;midy = getmaxy() / 2;setcolor(getmaxcolor());/* draw arc */arc(midx, midy, stangle, endangle, radius); /* clean up */getch();closegraph();return 0;}函数名: asctime功能: 转换日期和时间为ASCII码用法: char *asctime(const struct tm *tblock); 程序例:#include <stdio.h>#include <string.h>#include <time.h>int main(void){struct tm t;char str[80];/* sample loading of tm structure */t.tm_sec = 1; /* Seconds */t.tm_min = 30; /* Minutes */t.tm_hour = 9; /* Hour */。

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

C语言标准库函数bsearch详解
(2010-11-0817:43:08)
转载
标签:
分类:C语言
it
C语言中bsearch包含在<stdlib.h>头文件中,此函数可以根据你给的条件实现二分查找,如果找到元素则返回指向该元素的指针,否则返回NULL;对于有多个元素匹配成功的情况,bsearch()未定义返回哪一个。

使用bsearch函数也要自己定义比较子函数。

函数原型
void*bsearch(const void*key,const void*base,size_t num,size_t size, int(*cmp)(const void*,const void*));
解释一下参数
key指向要查找的元素
base指向进行查找的数组
num数组中元素的个数
size数组中每个元素的大小,一般用sizeof()表示
cmp比较两个元素的函数,定义比较规则。

需要注意的是,查找数组必须是经过预先排序的,而排序的规则要和比较子函数cmp的规则相同。

因为使用bsearch函数要求数组预先排好序,所以该函数通常和快速排序函数(qsort)一起使用,关于qsort函数,详见《C语言标准库函数qsort详解》关于bsearch()的具体应用请见《POJ2503Babelfish C语言版》
C语言中可以用bsearch()实现二分查找。

同qsort()一样,bsearch()也包含在
key指向所要查找的元素,base指向进行查找的数组,nmem为查找长度,一般为数组长度,size为每个元素所占的字节数,一般用sizeof(...)表示,comp
指向比较子函数,它定义比较的规则。

需要注意的是,数据必须是经过预先排序的,而排序的规则要和comp所指向比较子函数的规则相同。

如果查找成功则返回数组中匹配元素的地址,反之则返回空。

对于有多于一个的元素匹配成功的情况,bsearch()未定义返回哪一个。

例:
结果如下:。

相关文档
最新文档