C语言图形编程函数大全

合集下载

C语言图形界面常用函数集锦

C语言图形界面常用函数集锦

C语⾔图形界⾯常⽤函数集锦(以下函数均应在图形⽅式初始之后使⽤(initgraph(a,b)),在win-tc中使⽤BGI图形程序模板时,其中已经定义有⼀个initgr函数,在main 函数中应在执⾏initgr函数之后再使⽤这些函数。

使⽤这些函数时,均应在程序中包含头⽂件graphics.h,即程序开始时应有#include "graphics.h")1、setcolor(⾊彩值):设置绘图⾊彩,使⽤该函数后,图形函数所绘制的直线或曲线为该函数中指定的⾊彩。

例如:setcolor(YELLOW);circle(320,240,100);在屏幕中央以黄⾊绘制半径为100的圆。

2、setbkcolor(⾊彩值):设置图形屏幕的背景⾊彩,使⽤该函数后图形屏幕清屏,背景⾊彩为该函数中所指定的⾊彩。

如果没有使⽤该函数设置背景⾊,则图形屏幕的背景⾊彩为⿊⾊。

3、cleardevice():清除图形屏幕上已经绘制的内容,该函数没有参数。

4、line(x1,y1,x2,y2): 绘制直线段,其中(x1,y1)为⼀个端点的坐标,(x2,y2)为另⼀个端点的坐标。

直线的⾊彩为在使⽤该函数之前通过setcolor函数所设置的⾊彩。

例如:setcolor(WHITE);line(0,240,639,240);绘制⼀条横贯屏幕中间的⽩⾊⽔平直线。

5、circle(x,y,r):绘制⼀个以(x,y)为圆⼼坐标,半径为r的圆。

例如:setcolor(WHITE);circle(320,240,100);绘制⼀个以(320,240)为圆⼼位置,半径为100的圆。

6、rectangle(x1,y1,x2,y2):绘制⼀个以(x1,y1)和(x2,y2)为对⾓端点坐标的矩形7、putpixel(x,y,color):在(x,y)坐标位置处绘制⼀个点,点的⾊彩由color指定。

例如:putpixel(320,240,RED);在屏幕中央绘制⼀个红⾊的点。

C语言画图函数

C语言画图函数

C语言画图函数与图形有关的函数GRAPHICS.H 库文件bar【功能】画出一条栏目。

【原型】void far bar(int left,int top,int right,int bottom)【位置】graphics.hgraphics.h【参见】bar3d,setfillstyle,rectanglebar3d【功能】画出一条3-D栏目。

【原型】void far bar3d(int left,int top,int right,int bottom,int depth,int topflag) 【位置】graphics.h【参见】barcircle【功能】以(x,y)为圆心按照指定的半径画出一个圆。

【原型】void far circle(int x,int y,int radius)【位置】graphics.h【参见】arccleardevice【功能】清除图形画面。

【原型】void far cleardevice(void)【位置】graphics.h【参见】clearviewportclearviewport【功能】清除当前可视区域。

【原型】clearviewport(void)【位置】graphics.h【参见】setviewport,cleardeviceclosegraph【功能】关闭图形系统。

【原型】void far closegraph(void)【位置】graphics.h【参见】initgraphdetecgraph【功能】通过检查硬件确定使用的图形驱动程序和模式。

【原型】void far detectgraph(int far *graphdriver,int far *graphmode)【位置】graphics.h【参见】initgraph,graphresultdrawpoly【功能】画出一个多边形的轮廓。

【原型】void far drawpoly(int numpoints,int far polypoints[])【位置】graphics.h【说明】polypoints中包括一共numpoints对数值。

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 */。

(完整版)C语言函数大全

(完整版)C语言函数大全

功能: 异常终止一个进程用法: 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)功能: 计算Y/X的反正切值用法: double atan2(double y, double x)函数名:atexit功能: 注册终止函数用法: int atexit(atexit_t func)函数名: atof功能: 把字符串转换成浮点数用法:double atof(const char *nptr)函数名: atoi功能: 把字符串转换成长整型数用法: int atoi(const char *nptr)函数名: atol功能: 把字符串转换成长整型数用法: long atol(const char *nptr)函数名: bar功能: 画一个二维条形图用法: void far bar(int left, int top, int right, int bottom)函数名: bar3d功能: 画一个三维条形图用法:void far bar3d(int left, int top, int right, int bottom,int depth, int topflag)函数名: bdos功能: DOS系统调用用法: int bdos(int dosfun, unsigned dosdx, unsigned dosal)函数名:bdosptr功能:DOS系统调用用法: int bdosptr(int dosfun, void *argument, unsigned dosal)函数名:bioscom功能: 串行I/O通信用法:int bioscom(int cmd, char abyte, int port)函数名:biosdisk功能: 软硬盘I/O用法:int biosdisk(int cmd, int drive, int head, int track, int sectorint nsects, void *buffer)函数名:biosequip功能: 检查设备用法:int biosequip(void)函数名:bioskey功能: 直接使用BIOS服务的键盘接口用法:int bioskey(int cmd)函数名:biosmemory功能: 返回存储块大小用法:int biosmemory(void)函数名:biosprint功能: 直接使用BIOS服务的打印机I/O用法:int biosprint(int cmd, int byte, int port)函数名:biostime功能: 读取或设置BIOS时间用法: long biostime(int cmd, long newtime)函数名: brk功能: 改变数据段空间分配用法:int brk(void *endds)函数名:bsearch功能: 二分法搜索用法:void *bsearch(const void *key, const void *base, size_t *nelem, size_t width, int(*fcmp)(const void *, const *))函数名: cabs功能: 计算复数的绝对值用法: double cabs(struct complex z);函数名:calloc功能:分配主存储器用法:void *calloc(size_t nelem, size_t elsize);函数名: ceil功能: 向上舍入用法: double ceil(double x);函数名: cgets功能: 从控制台读字符串用法: char *cgets(char *str)函数名:chdir功能: 改变工作目录用法: int chdir(const char *path);函数名:_chmod, chmod功能: 改变文件的访问方式用法: int chmod(const char *filename, int permiss);函数名:chsize功能: 改变文件大小用法: int chsize(int handle, long size);函数名: circle功能: 在给定半径以(x, y)为圆心画圆用法: void far circle(int x, int y, int radius);函数名: cleardevice功能: 清除图形屏幕用法: void far cleardevice(void);函数名:clearerr功能: 复位错误标志用法:void clearerr(FILE *stream);函数名: clearviewport功能: 清除图形视区用法: void far clearviewport(void);函数名:_close, close功能: 关闭文件句柄用法:int close(int handle);函数名: clock功能:确定处理器时间用法: clock_t clock(void);函数名:closegraph功能: 关闭图形系统用法: void far closegraph(void);函数名:clreol功能: 在文本窗口中清除字符到行末用法:void clreol(void)函数名:clrscr功能: 清除文本模式窗口用法:void clrscr(void);函数名: coreleft功能: 返回未使用内存的大小用法:unsigned coreleft(void);函数名: cos功能: 余弦函数用法:double cos(double x);函数名:cosh功能: 双曲余弦函数用法: dluble cosh(double x);函数名: country功能: 返回与国家有关的信息用法: struct COUNTRY *country(int countrycode, struct country *country); 函数名: cprintf功能: 送格式化输出至屏幕用法:int cprintf(const char *format[, argument, ...]);函数名: cputs功能: 写字符到屏幕用法: void cputs(const char *string);函数名: _creat creat功能: 创建一个新文件或重写一个已存在的文件用法: int creat (const char *filename, int permiss)函数名:creatnew功能: 创建一个新文件用法:int creatnew(const char *filename, int attrib);函数名: cscanf功能: 从控制台执行格式化输入用法:int cscanf(char *format[,argument, ...]);函数名: ctime功能: 把日期和时间转换为字符串用法:char *ctime(const time_t *time);功能: 设置Ctrl-Break处理程序用法: void ctrlbrk(*fptr)(void);函数名: delay功能: 将程序的执行暂停一段时间(毫秒)用法: void delay(unsigned milliseconds);函数名: delline功能: 在文本窗口中删去一行用法: void delline(void);函数名:detectgraph功能: 通过检测硬件确定图形驱动程序和模式用法: void far detectgraph(int far *graphdriver, int far *graphmode); 函数名: difftime功能: 计算两个时刻之间的时间差用法: double difftime(time_t time2, time_t time1);函数名: disable功能: 屏蔽中断用法:void disable(void);函数名: div功能: 将两个整数相除, 返回商和余数用法:div_t (int number, int denom);函数名: dosexterr功能: 获取扩展DOS错误信息用法:int dosexterr(struct DOSERR *dblkp);函数名: dostounix功能: 转换日期和时间为UNIX时间格式用法: long dostounix(struct date *dateptr, struct time *timeptr);函数名: drawpoly功能: 画多边形用法: void far drawpoly(int numpoints, int far *polypoints);函数名:dup功能: 复制一个文件句柄用法: int dup(int handle);函数名:dup2功能: 复制文件句柄用法: int dup2(int oldhandle, int newhandle);功能: 把一个浮点数转换为字符串用法: char ecvt(double value, int ndigit, int *decpt, int *sign);函数名: ellipse功能: 画一椭圆用法:void far ellipse(int x, int y, int stangle, int endangle,int xradius, int yradius);函数名: enable功能: 开放硬件中断用法: void enable(void);函数名: eof功能: 检测文件结束用法: int eof(int *handle);函数名: exec...功能: 装入并运行其它程序的函数用法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL); int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,char *envp[]);int execlp(char *pathname, char *arg0, arg1, .., NULL);int execple(char *pathname, char *arg0, arg1, ..., NULL,char *envp[]);int execv(char *pathname, char *argv[]);int execve(char *pathname, char *argv[], char *envp[]);int execvp(char *pathname, char *argv[]);int execvpe(char *pathname, char *argv[], char *envp[]);函数名:exit功能: 终止程序用法: void exit(int status);函数名: exp功能: 指数函数用法: double exp(double x);函数名: gcvt功能: 把浮点数转换成字符串用法: char *gcvt(double value, int ndigit, char *buf);函数名: geninterrupt功能: 产生一个软中断函数名: getarccoords功能: 取得最后一次调用arc的坐标用法: void far getarccoords(struct arccoordstype far *arccoords); 函数名: getaspectratio功能: 返回当前图形模式的纵横比用法: void far getaspectratio(int far *xasp, int far *yasp);函数名: getbkcolor功能: 返回当前背景颜色用法: int far getbkcolor(void);函数名: getc功能: 从流中取字符用法: int getc(FILE *stream);函数名: getcbrk功能: 获取Control_break设置用法: int getcbrk(void);函数名: getch功能: 从控制台无回显地取一个字符用法: int getch(void);函数名: getchar功能: 从stdin流中读字符用法: int getchar(void);函数名: getche功能: 从控制台取字符(带回显)用法: int getche(void);函数名: getcolor功能: 返回当前画线颜色用法: int far getcolor(void);函数名: getcurdir功能: 取指定驱动器的当前目录用法: int getcurdir(int drive, char *direc);函数名: getcwd功能: 取当前工作目录用法: char *getcwd(char *buf, int n);函数名: getdate功能: 取DOS日期函数名: getdefaultpalette功能: 返回调色板定义结构用法: struct palettetype *far getdefaultpalette(void);函数名: getdisk功能: 取当前磁盘驱动器号用法: int getdisk(void);函数名: getdrivername功能: 返回指向包含当前图形驱动程序名字的字符串指针用法: char *getdrivename(void);函数名: getdta功能: 取磁盘传输地址用法: char far *getdta(void);函数名: getenv功能: 从环境中取字符串用法: char *getenv(char *envvar);函数名: getfat, getfatd功能: 取文件分配表信息用法: void getfat(int drive, struct fatinfo *fatblkp);函数名: getfillpattern功能: 将用户定义的填充模式拷贝到内存中用法: void far getfillpattern(char far *upattern);函数名: getfillsettings功能: 取得有关当前填充模式和填充颜色的信息用法: void far getfillsettings(struct fillsettingstype far *fillinfo); 函数名: getftime功能: 取文件日期和时间用法: int getftime(int handle, struct ftime *ftimep);函数名: getgraphmode功能: 返回当前图形模式用法: int far getgraphmode(void);函数名: getftime功能: 取文件日期和时间用法: int getftime(int handle, struct ftime *ftimep);函数名: getgraphmode功能: 返回当前图形模式用法: int far getgraphmode(void);函数名: getimage功能: 将指定区域的一个位图存到主存中用法: void far getimage(int left, int top, int right, int bottom,void far *bitmap);函数名: getlinesettings功能: 取当前线型、模式和宽度用法: void far getlinesettings(struct linesettingstype far *lininfo): 函数名: getmaxx功能: 返回屏幕的最大x坐标用法: int far getmaxx(void);函数名: getmaxy功能: 返回屏幕的最大y坐标用法: int far getmaxy(void);函数名: getmodename功能: 返回含有指定图形模式名的字符串指针用法: char *far getmodename(int mode_name);函数名: getmoderange功能: 取给定图形驱动程序的模式范围用法: void far getmoderange(int graphdriver, int far *lomode,int far *himode);函数名: getpalette功能: 返回有关当前调色板的信息用法: void far getpalette(struct palettetype far *palette);函数名: getpass功能: 读一个口令用法: char *getpass(char *prompt);函数名: getpixel功能: 取得指定像素的颜色用法: int far getpixel(int x, int y);函数名: gets功能: 从流中取一字符串用法: char *gets(char *string);函数名: gettext功能: 将文本方式屏幕上的文本拷贝到存储区用法: int gettext(int left, int top, int right, int bottom, void *destin);函数名: gettextinfo功能: 取得文本模式的显示信息用法: void gettextinfo(struct text_info *inforec);函数名: gettextsettings功能: 返回有关当前图形文本字体的信息用法: void far gettextsettings(struct textsettingstype far *textinfo); 函数名: gettime功能: 取得系统时间用法: void gettime(struct time *timep);函数名: getvect功能: 取得中断向量入口用法: void interrupt(*getvect(int intr_num));函数名: getverify功能: 返回DOS校验标志状态用法: int getverify(void);函数名: getviewsetting功能: 返回有关当前视区的信息用法: void far getviewsettings(struct viewporttype far *viewport); 函数名: getw功能: 从流中取一整数用法: int getw(FILE *strem);函数名: getx功能: 返回当前图形位置的x坐标用法: int far getx(void);函数名: gety功能: 返回当前图形位置的y坐标用法: int far gety(void);函数名: gmtime功能: 把日期和时间转换为格林尼治标准时间(GMT)用法: struct tm *gmtime(long *clock);函数名: gotoxy功能: 在文本窗口中设置光标用法: void gotoxy(int x, int y);函数名: gotoxy功能: 在文本窗口中设置光标用法: void gotoxy(int x, int y);函数名: graphdefaults功能: 将所有图形设置复位为它们的缺省值用法: void far graphdefaults(void);函数名: grapherrormsg功能: 返回一个错误信息串的指针用法: char *far grapherrormsg(int errorcode);函数名: graphresult功能: 返回最后一次不成功的图形操作的错误代码用法: int far graphresult(void);函数名: _graphfreemem功能: 用户可修改的图形存储区释放函数用法: void far _graphfreemem(void far *ptr, unsigned size);函数名: _graphgetmem功能: 用户可修改的图形存储区分配函数用法: void far *far _graphgetmem(unsigned size);函数名: harderr功能: 建立一个硬件错误处理程序用法: void harderr(int (*fptr)());函数名: hardresume功能: 硬件错误处理函数用法: void hardresume(int rescode);函数名: highvideo功能: 选择高亮度文本字符用法: void highvideo(void);函数名: hypot功能: 计算直角三角形的斜边长用法: double hypot(double x, double y);函数名: imagesize功能: 返回保存位图像所需的字节数用法: unsigned far imagesize(int left, int top, int right, int bottom); 函数名: initgraph功能: 初始化图形系统用法: void far initgraph(int far *graphdriver, int far *graphmode函数名: inport功能: 从硬件端口中输入用法: int inp(int protid);函数名: insline功能: 在文本窗口中插入一个空行用法: void insline(void);函数名: installuserdriver功能: 安装设备驱动程序到BGI设备驱动程序表中用法: int far installuserdriver(char far *name, int (*detect)(void));函数名: installuserfont功能: 安装未嵌入BGI系统的字体文件(CHR)用法: int far installuserfont(char far *name);函数名: int86功能: 通用8086软中断接口用法: int int86(int intr_num, union REGS *inregs, union REGS *outregs) 函数名: int86x功能: 通用8086软中断接口用法: int int86x(int intr_num, union REGS *insegs, union REGS *outregs, 函数名: intdos功能: 通用DOS接口用法: int intdos(union REGS *inregs, union REGS *outregs);函数名: intdosx功能: 通用DOS中断接口用法: int intdosx(union REGS *inregs, union REGS *outregs,struct SREGS *segregs);函数名: intr功能: 改变软中断接口用法: void intr(int intr_num, struct REGPACK *preg);函数名: ioctl功能: 控制I/O设备用法: int ioctl(int handle, int cmd[,int *argdx, int argcx]);函数名: isatty功能: 检查设备类型用法: int isatty(int handle);函数名: itoa功能: 把一整数转换为字符串用法: char *itoa(int value, char *string, int radix);函数名: kbhit功能: 检查当前按下的键用法: int kbhit(void);函数名: keep功能: 退出并继续驻留用法: void keep(int status, int size);函数名: kbhit功能: 检查当前按下的键用法: int kbhit(void);函数名: keep功能: 退出并继续驻留用法: void keep(int status, int size);函数名: labs用法: long labs(long n);函数名: ldexp功能: 计算value*2的幂用法: double ldexp(double value, int exp);函数名: ldiv功能: 两个长整型数相除, 返回商和余数用法: ldiv_t ldiv(long lnumer, long ldenom);函数名: lfind功能: 执行线性搜索用法: void *lfind(void *key, void *base, int *nelem, int width,int (*fcmp)());函数名: line功能: 在指定两点间画一直线用法: void far line(int x0, int y0, int x1, int y1);函数名: linerel功能: 从当前位置点(CP)到与CP有一给定相对距离的点画一直线用法: void far linerel(int dx, int dy);函数名: localtime功能: 把日期和时间转变为结构用法: struct tm *localtime(long *clock);函数名: lock功能: 设置文件共享锁用法: int lock(int handle, long offset, long length);函数名: log功能: 对数函数ln(x)用法: double log(double x);函数名: log10功能: 对数函数log用法: double log10(double x);函数名: longjump功能: 执行非局部转移用法: void longjump(jmp_buf env, int val);函数名: lowvideo功能: 选择低亮度字符用法: void lowvideo(void);函数名: lrotl, _lrotl功能: 将无符号长整型数向左循环移位用法: unsigned long lrotl(unsigned long lvalue, int count);unsigned long _lrotl(unsigned long lvalue, int count);函数名: lsearch功能: 线性搜索用法: void *lsearch(const void *key, void *base, size_t *nelem,size_t width, int (*fcmp)(const void *, const void *));函数名: lseek功能: 移动文件读/写指针用法: long lseek(int handle, long offset, int fromwhere);main()主函数每一C 程序都必须有一main() 函数, 可以根据自己的爱好把它放在程序的某个地方。

c语言数学函数大全及详解

c语言数学函数大全及详解

c语言数学函数大全及详解C语言提供了一系列的数学函数,这些函数包含在`math.h` 头文件中。

以下是一些常见的C 语言数学函数及其简要说明:1. fabs:-函数原型:`double fabs(double x);`-描述:返回`x` 的绝对值。

2. sqrt:-函数原型:`double sqrt(double x);`-描述:返回`x` 的平方根。

3. pow:-函数原型:`double pow(double x, double y);`-描述:返回`x` 的`y` 次方。

4. exp:-函数原型:`double exp(double x);`-描述:返回自然对数的底`e` 的`x` 次方。

5. log:-函数原型:`double log(double x);`-描述:返回`x` 的自然对数。

6. sin, cos, tan:-函数原型:- `double sin(double x);`- `double cos(double x);`- `double tan(double x);`-描述:分别返回`x` 的正弦、余弦和正切值。

这些函数中`x` 的单位是弧度。

7. asin, acos, atan:-函数原型:- `double asin(double x);`- `double acos(double x);`- `double atan(double x);`-描述:分别返回`x` 的反正弦、反余弦和反正切值。

返回的值是弧度。

8. sinh, cosh, tanh:-函数原型:- `double sinh(double x);`- `double cosh(double x);`- `double tanh(double x);`-描述:分别返回`x` 的双曲正弦、双曲余弦和双曲正切值。

9. ceil:-函数原型:`double ceil(double x);`-描述:返回不小于`x` 的最小整数值。

C语言图形编程(三、绘图函数-02)5

C语言图形编程(三、绘图函数-02)5
drawpoly()函数对应的头文件为grpahics.h
返回值: 无
例: 下面的程序画一个封闭星形图与一个不封闭星形图:
#include<graphics.h>
void main()
{
int driver,mode;
static int polypoints1[18]={100,100,110,120,100,130,120,125,140,140,130,120,
printf("aspect ratio: %f",aspectratio);
69. circle()画圆函数
功能: 函数circle()使用当前绘图色并以实线画一个完整的圆。
用法:该函数调用方式为void circle(int x,int y,int radius);
说明: 参数x,y为圆心坐标,radius为圆半径,用像素个素表示。注意,调用circle()函数画圆时不用当前线型。
不同于ellipse()函数,只用单个半径radius参数调用circle()函数,故屏显纵横比可以自动调节,以产生正确的显示图。
此函数对应的头文件为graphics.h
返回值: 无
例: 画六个同心圆,圆心在(100,100)。
#include<graphics.h>
void main()
为了保证几何图形基本按预计情况显示在屏幕上,用屏显的纵横比来计算和纠正不同硬件及显示卡产生的畸变。计算纵横比所需要的水平方向和垂直方向的比例系数可调用函数getaspectratio()获得。
68. getaspectratio()获取纵横比函数
功能: 函数getaspectratio()返回x方向和y方向的比例系数,用这两个整型值可计算某一特定屏显的纵横比。

c语言画图基本函数

c语言画图基本函数

c语言画图基本函数基本图形函数包括画点,线以及其它一些基本图形的函数。

本节对这些函数作一全面的介绍。

1、画点I. 画点函数 void far putpixel(int x, int y, int color);该函数表示有指定的象元画一个按color 所确定颜色的点。

对于颜色color的值可从表3中获得而对x, y是指图形象元的坐标。

在图形模式下,是按象元来定义坐标的。

对VGA适配器,它的最高分辨率为640x480,其中640为整个屏幕从左到右所有象元的个数,480为整个屏幕从上到下所有象元的个数。

屏幕的左上角坐标为(0,0),右下角坐标为(639, 479),水平方向从左到右为x 轴正向,垂直方向从上到下为y轴正向。

TURBO C的图形函数都是相对于图形屏幕坐标,即象元来说的。

关于点的另外一个函数是: int far getpixel(int x, int y); 它获得当前点(x, y)的颜色值。

II、有关坐标位置的函数int far getmaxx(void);返回x轴的最大值。

int far getmaxy(void); 返回y轴的最大值。

int far getx(void); 返回游标在x轴的位置。

void far gety(void); 返回游标有y轴的位置。

void far moveto(int x, int y); 移动游标到(x, y)点,不是画点,在移动过程中亦画点。

void far moverel(int dx, int dy); 移动游标从现行位置(x, y)移动到(x+dx, y+dy)的位置,移动过程中不画点。

2、画线I. 画线函数TURBO C提供了一系列画线函数,下面分别叙述:void far line(int x0, int y0, int x1, int y1); 画一条从点(x0, y0)到(x1, y1)的直线。

void far lineto(int x, int y); 画一作从现行游标到点(x, y)的直线。

C语言图形函数库

C语言图形函数库

C语言图形编程(三、绘图函数-02)四、图形和图像函数(一)像素函数56.putpiel()画像素点函数57.getpixel()返回像素色函数(二)直线和线型函数58.line()画线函数59.lineto()画线函数60.linerel()相对画线函数61.setlinestyle()设置线型函数62.getlinesettings()获取线型设置函数63.setwritemode()设置画线模式函数(三)、多边形函数64.rectangle()画矩形函数65.bar()画条函数66.bar3d()画条块函数67.drawpoly()画多边形函数(四)、圆、弧和曲线函数68.getaspectratio()获取纵横比函数69.circle()画圆函数70.arc()画圆弧函数71.ellipse()画椭圆弧函数72.fillellipse()画椭圆区函数73.pieslice()画扇区函数74.sector()画椭圆扇区函数75.getarccoords()获取圆弧坐标函数(五)、填充函数76.setfillstyle()设置填充图样和颜色函数77.setfillpattern()设置用户图样函数78.floodfill()填充闭域函数79.fillpoly()填充多边形函数80.getfillsettings()获取填充设置函数81.getfillpattern()获取用户图样设置函数(六)、图像函数82.imagesize()图像存储大小函数83.getimage()保存图像函数84.putimage()输出图像函数四、图形和图像函数对许多图形应用程序,直线和曲线是非常有用的。

但对有些图形只能靠操作单个像素才能画出。

当然如果没有画像素的功能,就无法操作直线和曲线的函数。

而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。

(一)像素函数56.putpixel()画像素点函数功能:函数putpixel()在图形模式下屏幕上画一个像素点。

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

C语言图形编程一、字符屏幕一、屏幕操作函数1. clrscr()清除字符窗口函数2. window()字符窗口函数3. gotoxy()光标定位函数4. clreol() 清除光标行尾字符函数5. insline() 插入空行函数6. delline() 删除一行函数7. gettext() 拷进文字函数8. puttext() 拷出文字函数9. movetext() 移动文字函数二、字符属性函数10. textmode() 文本模式函数11. highvideo()高亮度函数12. lowvideo() 低亮度函数13. normvideo(void);14. textcolor() 文本颜色函数15. textattr() 文本属性函数16.textbackground() 文本背景函数三、屏显状态函数17. wherex() 光标处x坐标函数18. wherey() 光标处y坐标函数19. gettextinfo() 获取文本窗口信息函数在Borland C++里面提供了字符屏幕和图形函数。

字符屏幕的核心是窗口(Window),它是屏幕的活动部分,字符输出或显示在活动窗口中进行。

窗口在缺省时,就是整个屏幕。

窗口可以根据需要指定其大小。

同样,对图形函数的操作,也提供了(Viewport)。

也就是说图形函数的操作都是在视口上进行。

图形视口与字符窗口具有相同的特性,用户可以在屏幕上定义大小不同的视口,若不定义视口大小,它就是整个屏幕。

窗口是在字符屏幕下的概念,只有字符才能在窗口中显示出来,这时用户可以访问的最小单位为一个字符。

视口是在图形屏幕状态下的概念,文本与图形都可以在视口上显示,用户可访问的最小单位是一个像素(像素这一术语最初用来指显示器上最小的、单独的发光点单元。

然而现在,其含义拓宽为指图形显示器上的最小可访问点)。

字符和图形状态下,屏幕上的位置都是由它们的行与列所决定的。

有一点须指出:字符状态左上角坐标为(1,1),但图形左上角坐标为(0,0)。

了解字符屏幕和图形函数与窗口和视口的关系是很重要的。

例如,字符屏幕光标位置函数gotoxy()将光标移到窗口的x,y位置上,这未必是相对于整个屏幕。

下面介绍常用的几类字符屏幕函数的功能用途、操作方法及其例行程序。

一、屏幕操作函数编写程序绘图经常要用到对字符屏幕进行操作。

例如,在往屏幕上写字符之前,首先要将屏幕清除干净。

又如,有时需要在屏幕上多处写上肉中刺样的字符内容,这时最好用屏幕拷贝来高效率地完成这一任务。

对这些操作,Borland C++提供了一系列字符屏幕操作函数来实现。

1. clrscr()清除字符窗口函数功能:函数clrscr()清除整个当前字符窗口,并且把光标定位于左上角(1,1)处。

用法:此函数调用方式为 void clrscr(void);说明:括号中void 表示无参数。

该函数相应的头文件为conio.h返回值:无例:使用这个函数的例子见4.clreol()函数的实例中。

2. window()字符窗口函数功能:函数window()用于在指定位置建立一个字符窗口。

用法:此函数调用方式为 void window(int left,int top,int right,int bottom);说明:函数中参数left,top为窗口左上角坐标;right,bottom为其右下角坐标。

若有一个坐标是无效的,则window()函数不起作用。

一旦该函数调用成功,那么所有定位坐标都是相对于窗口的,而不是相对于整个屏幕。

但是建立窗口所用的坐标总是相对整个屏幕的绝对坐标,而不是相对当前窗口的相对坐标。

这样用户就可以根据各种需要建立多个互不嵌套的窗口。

此函数的头文件为conio.h。

返回值:无例:调用这个函数的实现例见3.gotoxy()函数的例子中。

3. gotoxy()光标定位函数功能:函数gotoxy()将字屏幕上的光标移到当前窗口指定的位置上。

用法:这个函数调用方式为void gotoxy(int x,int y);说明:括号里x,y是,光标定位的坐标,如果其中一个坐标值无效(如坐标超界),那么光标不会移动。

此函数在字符状态(有时称为文本状态)下经常用到,其相应的头文件为conio.h返回值:无例:下面程序建立两个窗口,然后在窗口里显示字符,字符的位置是调用该函数确定的。

#include <conio.h>void border(int startx,int starty,int endx,int endy){register int i;gotoxy(1,1);for(i=0;i<=endx-startx;i++)putch('-');gotoxy(1,endy-starty);for(i=0;i<=endx-startx;i++)putch('-');for(i=2;i<=endy-starty;i++){gotoxy(1,i);putch('1');gotoxy(endx-startx+1,i);putch('1');}}main(){void border(int,int,int,int);clrscr();window(6,8,38,12);border(6,8,38,12);gotoxy(2,2);printf("window 1");window(8,16,40,24);border(8,16,40,24);gotoxy(3,2);printf("window 2");getch();}4. clreol() 清除光标行尾字符函数功能:函数clreol()在当前字符窗口中清除从光标位置到行尾的所有字符,而光标位置保持不变。

用法:它的调用方式为void clreol(void);说明:此函数的相应头文件为 conio.h返回值:无例:程序中使用了函数clreol()和clrscr()#i nclude "conio.h>void main(){register int i;gotoxy(6,8);printf("This is a test of the clreol() function.");getch();gotoxy(6,8);clreol();for(i=0;i<20;i++)printf("Hello\n");getch();clrscr();}5. insline() 插入空行函数功能:函数insline()插入一空行到当前光标所在行上,同时光标以下的所有行都向下顺移一行。

用法:此函数的调用方式为void insline(void);说明:该函数只用于文本方式,并且在当了符窗口才有效。

这个函数的对应头文件是 conio.h返回值:无例:程序给出了insline()函数的用法。

#i nclude "conio.h"void main(){registser int i;clrscr();for(i=1;i<24;i++){gotoxy(1,i);printf("This is line %d\n",i);}getch();gotoxy(1,10);insline();getch();}6. delline() 删除一行函数功能:函数delline()删除当前窗口内光标所在行,同时把该行下面所有行都上移一行。

用法:此函数调用方式为 void delline(void);说明:注意,如果当前窗口小于整个屏幕,那么该函数只影响到窗口内的字符。

这个函数相应的头部文件是conio.h返回值:无例:先在屏幕上显示16行文字,然后删除第4行#i nclude "conio.h"void main(){register int i;clrscr();for(i=0;i<16;i++) printf("line %d\n",i);getch();gotoxy(1,4);delline();getch();}7.gettext() 拷进文字函数功能:函数gettext()用于文本状态下将屏幕上矩形域内的文字拷进内存。

用法:该函数调用方式为 int gettext(int left,int top,int right,int bottom,void *buffer);说明:函数中参数left,top为矩形区域的左上角坐标,right,bottom为其右下角坐标,这些坐标是屏幕的绝对坐标,不是窗口的相对坐标。

buffer指针必须指向一个足够保存该矩形域内文字的内存。

所用内存大小按下式计算:点头用字节数=矩形哉内的行数×矩形域的列数×2这里将行数乘以列数再乘以2的原因是保存屏幕上每个字符要用两个字节存储单元,一个字节存储单元存放字符本身,而另一个存放其属性。

此函数相应的头文件是 conio.h返回值:若函数调用成功则返回1,否则返顺0。

例:把屏幕左上角点(1,1)和右下角点(10,10)的区域拷贝到buf指向的内存中去。

buf=(char *)malloc(10*10*2);if(!buf)gettext(1,1,10,10,buf);8. puttext() 拷出文字函数功能:函数puttext()把先前由gettext()保存到buffer指向的内存中的文字拷出到屏幕上一个矩形区域中。

用法:此函数调用方式为 int puttext(int left,int top,int right,int bottom,void *buffer);说明:函数里left,top为给出的屏幕上矩形区域的左上角点,right,bottom为其右下角点,其坐标是用屏幕的绝对坐标,而不是用窗口的相对坐标。

该函数相应的头文件为conio.h返回值:函数调用成功返回值为1,否则返回0。

例:屏幕上某个区域内容拷进buf指向的内存中,然后又将这些文字拷出到屏幕上新位置。

buf=(char *)malloc(10*10*2);gettext(1,1,10,10,buf);puttext(16,16,30,30,buf);9. movetext() 移动文字函数功能:函数movetext()将屏幕上一个矩形区域的文字移到另一个区域上。

用法:该函数调用方式为 int movetext(int left,int top,int right,int bottom,int newleft,int newtop); 说明:上面left,top为矩形区域上角坐标,right,bottom为其右下角坐标,newleft,newright为移动到区域左上角坐标。

相关文档
最新文档