C语言的常用库函数_第1页
C语言的常用库函数_第2页
C语言的常用库函数_第3页
C语言的常用库函数_第4页
C语言的常用库函数_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

absread 读磁盘绝对扇区函数 原形 int absread int drive int num int sectnum void buf 功能 从 drive 指定的驱动器磁盘上 sectnum 指定的逻辑扇区号开始读取 通过 DOS 中断 0 x25 读取 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 中断 0 x26 磁盘上的指定扇区 即使写入的地方是磁盘的逻 辑结构 文件 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 注意 BCD 码的精度可达 17 位 参数 decimals 是可选的 用来指定转换后小数点后的位数 头文件 bcd h bdos 原形 int bdos int fnum unsigned dx unsigned al 其中 fnum 是系统调用号 dx 是传给寄存器 DX 的值 al 是传给寄存器 AL 的值 功能 DOS 系统调用 INT21H 返回值 AX 中的值 biosdisk 调用 BIOS 磁盘驱动程序函数 原形 char biosdisk int cmd int drive int head int track int sector int nsects void buffer 功能 使用中断 0 x13 直接调用 BIOS 进行磁盘操作 参数 1 cmd 2 数据以每扇区 512 字节的格式读入 buffer 起始扇区由 head track 和 sector 定 扇区数由 nsects 定 3 将 buffer 中的数据按每扇区 512 字节写入磁盘 4 对扇区进行数据校验 6 格式化一个磁盘并对化扇区设置化标志 8 返回当前驱动器参数在 buffer 的前 4 个字节中 10 长读 每扇区读入 512 字节加上额外的 4 个字节 11 长写 每扇区写入 512 字节加上额外的 4 个字节 2 drive 0 第一个软驱 1 第二个软驱 0 x80 第一个硬驱 3 head 磁头 4 track 磁道 5 sector 扇区 6 nsects 扇区数 7 buffer 数据缓冲区 定义为 unsigned char buffer 返回值 0 x00 操作成功 0 x01 错误命令 0 x03 企图写具有写保护的磁盘 0 x07 驱动器参数设置错误 0 x10 磁盘读 CRC ECC 错误 头文件 bios h 注 对于硬盘主引导记录扇区 head 0 track 0 sector 1 biosprint 调用 BIOS 打印机 I O 接口的函数 原形 int biosprint int cmd int abyte int port 功能 通过 BIOS 中断 0 x17 在由参数 port 指定的打印机上完成各种打印机功能 port 0 LPT1 1 LPT2 cmd 0 打印字符 abyte 1 初始化打印机端口 2 读打印机状态 abyte 0 255 返回值 打印机状态 位 0 设备超时 位 3 I O 出错 位 4 打印机已选择 位 5 没纸 位 6 打印机确认 位 7 不忙 头文件 bios h calloc 分配内存函数 原形 void calloc size t nitems size t size 功能 在堆中分配一块内存 将该内存的内容全部清 返回值 返回指向新分配内存的指针 空间不够则返回 NULL 头文件 stdlib h calloc h ceil 原形 double ceil double num 功能 求不小于 num 的最小双精度整数 头文件 math h cgets 读字符串函数 原形 char cgets char str 功能 从控制台读入一个字符串 并将该字符串 和字符串长度 存入有 str 所指向的地址中 注意 在调用 cgets 之前 必须将要读入的字符串最大长度存入 str 0 中 返回时 str 1 被设 置为实际读入的字符数 实际字符串内容从 str 2 开始 以空字符 0 结尾 返回值 指向 str 2 的指针 头文件 conio h chdir 改变当前目录的函数 原形 int chdir const char path 功能 把由 path 指定的目录改为当前目录 path 参数中可以指定驱动器号 如 a ddd 但只是改变该驱动器上的当前目录 对当前活动驱动器上的当前目录无影响 返回值 0 成功 1 失败 头文件 dir h chmod 改变文件存取权限的函数 原形 int chmod const char path int func int attrib 功能 读取 func 0 时 或设置 func 1 时 DOS 文件属性 attrib FA RDONLY 只读 attrib FA HIDDEN 隐藏文件 attrib FA SYSTEM 系统文件 attrib FA LABLE 卷标 attrib FA DIREC 目录 attrib FA ARCH 档案 返回值 失败时返回 1 成功时返回文件的属性字节 如果 返回值 先定义 char far fptr 注意 所有可用 RAM 能被分配 大于 64 的块能被分配 用远指针存取该块 微模式不能用 返回值 返回指向新分配块的指针 若内存不够 则返回 NULL 头文件 alloc h farfree 从远堆中释放一块已分配内存的函数 原形 void farfree void far block 头文件 alloc h farmalloc 从远堆中分配内存的函数 原形 void far farmalloc unsigned long nbytes 使用方式 fptr farmalloc 字节数 先定义 char far fptr 功能 从远堆中分配长 nbytes 字节的内存 注意 所有可用 RAM 能被分配 大于 64 的块能被分配 用远指针存取该块 微模式不能用 返回值 返回指向新分配内存的指针 若内存不够 则返回 NULL 头文件 alloc h farrealloc 调整远堆中已分配块的函数 原形 void far farrealloc void far oldblock unsigned long nbytes 返回值 返回调整后的新内存地址 若不能重新分配 则返回 NULL 头文件 alloc h fclose 关闭一个流函数 原形 int fclose FILE stream 使用方式 fclose 文件指针名 其中文件指针名 fopen 功能 关闭指定的流 关闭前清除所有与 stream 相联的缓冲区 释放系统分配的缓冲区 但 由 setbuf 设置的缓冲区不能自动释放 返回值 0 成功 EOF 失败 头文件 stdio h fcloseall 关闭打开的流的函数 原形 int fcloseall void 功能 关闭所有打开的流 由 stdin stdout stdprn stderr 和 stdaux 设置的流除外 返回值 关闭流的总数 如果发现错误则返回 EOF 头文件 stdio h feof 检查文件是否结束的函数 原形 int feof FILE fp 返回值 文件结束返回非 0 值 否则返回 0 头文件 stdio h fgets 从流中读取一字符串的函数 原形 char fgets char s int n FILE stream 使用格式 fgets 字符串指针 字符个数 文件指针 功能 从输入流 stream 中读入字符存到 s 串中 当读了 n 1 个字符或遇到换行符时 函数停 止读过程 fgets 在 s 串尾保留换行字符 读入的最后一个字符后面加一个空字符 返回值 成功时返回字符串参数 s 出错或遇到文件结束时 返回 NULL 头文件 stdio h findfirst 函数和 findnext 函数 调用方式 整形数 findfirst 文件名 其中定义 struct ffblk 结构变量名 原形 int findfirst path buffer attr 和 int findnext buffer char path 要检索的文件名 struct ffblk char ff reserved 21 char ff attrib 被检索的文件属性 unsigned ff ftime 最后修改的时间 0 4 位 秒数 2 5 10 位 分数 11 15 位 小时数 unsigned ff fdate 最后修改的日期 0 4 位 日 5 8 位 月 9 15 位 年减 1980 long ff fsize 文件大小 char ff name 13 组名 buffer int attr 要检索的文件属性 功能 检索由 path 和 attr 指定的文件 把结果返回到 buffer findfirst 返回关于第一个指定 文件的信息 findnext 继续检索 返回值 0 检索成功 1 没有找到指定的文件 属性常数 FA NORMAL 0 x00 含意 Normal file no attributes FA RDONLY 0 x01 含意 只读 FA HIDDEN 0 x02 含意 隐含文件 FA SYSTEM 0 x04 含意 系统文件 FA LABEL 0 x08 含意 卷标 FA DIREC 0 x10 含意 子目录 FA ARCH 0 x20 含意 修改的文件 Archive 头文件 dir h dos h floodfill 填充区域的函数 原形 void far floodfill int x int y int border 功能 在图形设备上用颜色 border 围起来的区域将用当前填充颜色填充 x y 是待填充区域 的起点 若起点在封闭区域内 则区域内被填充 若起点在封闭区域外 则区域外被填充 头文件 graphics h floor 原形 double floor double num 功能 求不大于 num 的最大双精度整数 头文件 math h fnmerge 建立文件路径函数 原形 void fnmerge char path const char drive const char dir const char name const char ext 功能 合成 drive dir name ext 放在 path 头文件 dir h fnsplit 分解完整的路径名函数 原形 int fnsplit char path const char drive const char dir const char name const char ext 功能 把文件名路径 path 分成 4 个部分存放 其中 drive 中有冒号 dir 中有开始和结尾的反斜杠 ext 包括开始圆点 返回值 如果有扩展名 则 返回值 fprintf stderr 错误信息 使用实例 fprintf stream d c f i c f 其中定义 FILE stream int i char c float f 返回值 成功则返回输出的字节数 错误则返回 EOF 头文件 stdio h FP SEG 获取远地址段值的宏 原形 unsigned FP SEG void far p 功能 取得和设置远指针 p 段地址值 返回值 段地址值 头文件 dos h free 释放已分配内存的函数 原形 void free void block 功能 释放由 calloc malloc realloc 函数调用所分配的内存 头文件 stdlib h alloc h fscanf 格式化输入函数 原形 int fscanf FILE stream const char format address 功能 从一个流中扫描输入字段 一次扫描一个字符 每个输入字段根据 format 所指格式指 示符格式化后 把输入字段存在 format 后面由地址参数给出的位置上 使用格式 fscanf 文件指针 输入格式 输入项系列 使用实例 fscanf fp d 从 fp 指向的文件中读取十进制整数 ASC 形式 赋予变量 b 注 当文件指针是 stdin 时 与 scanf 功能完全相同 头文件 stdio h fseek 移动文件指针函数 原形 int fseek FILE stream long offset int whence 作用 强制一个文件的位置指针指向某个特定的位置 甚至超出文件的尾部 使用格式 fseek 文件指针 偏移 长整型 起点 定义 FILE 文件指针名 起点 取值 0 或 SEEK SET 表示文件开头 1 或 SEEK CUR 表示当前位置 2 或 SEEK END 表示文件尾端 返回值 0 表示成功 非 0 值表示失败 头文件 stdio h fwrite 把参数写入流中的函数 原形 size t fwrite const void ptr size t size size t n FILE stream 功能 附加 n 个数据项 每个数据项长度为 size 个字节 到指定的输出文件后 数据从 ptr 处开 始添加 ptr 是指向任意对象的指针 返回值 调用成功时返回实际写的数据项数 出错时返回一短整形数值 头文件 stdio h 例 fwrite 其中 s 是一结构变量 stream fopen gcvt 把双精度数转化成字符串的函数 原形 char gcvt value ndigit buf 其中 double value 是待转化数 int ndigit 是转化长度 char buf 保存转化后的地址 头文件 stdlib h geninterrupt 执行中断函数 原形 void geninterrupt int n 调用方式 geninterrupt 软中断号 功能 产生一个 8086 软中断 注 需先向寄存器传递入口信息 用伪变量 例如 伪变量 要赋的值 入口信息 调用 geninterrupt 函数后得接受出口信息 例如 变量名 伪变量 伪变量 Turbo C 允许使用伪变量直接访问相应的 8086 寄存器 伪变量的类型有两种 unsigned int AX BX CX DX CS DS SS ES SP BP DI SI unsigned char AL AH BL BH CL CH DL DH getc 从流中取字符的宏 原形 int getc FILE stream 功能 返回输入流 stream 中一个字符 移动文件指针使之指向下一个字符 使用格式 字符变量 getc 文件指针 正常情况下读取到代码值 读到文件尾或出错时返回 EOF 注 需定义 char 字符变量 FILE 文件指针 头文件 stdio h getch 从键盘无回显地读取一字符的函数 功能 将键盘上输入的单个字符的值 ASC 码 立刻赋给字符型变量 调用方式 字符形变量 getch 注 需先定义 char 字符形变量 头文件 conio h getchar 从 stdin 流中读取一个字符的函数 功能 将键盘上输入的单个字符的值 ASC 码 回车后赋给字符型变量 调用方式 字符型变量 getchar 注 需先定义 char 字符型变量 头文件 stdio h getcurdir 读取指定驱动器的当前目录的函数 原形 int getcurdir int drive char directory drive 0 缺省 1 A 驱动器 directory 用来存放目录名 不包括驱动器名 不以反斜杠开始 返回值 0 调用成功 1 出错 头文件 dir h getcwd 读取当前目录的函数 原形 char getcwd char buf int buflen 功能 读取当前目录的完整路径名 包括驱动器名 最长为 buflen 个字节 存放在 buf 中 如果 buf 为 NULL 函数将分配一个 buflen 字节长的缓冲区 以后可将本函数的返回值作为 free 函数的参数来释放该缓冲区 返回值 若 buf 非空 调用成功返回 buf 出错返回 NULL 若 buf 为 NULL 返回指向已经分配 的内存缓冲区地址 头文件 dir h getdate 读取系统日期函数 原形 void getdate pdate struct date int da year int da day int da mon struct date pdate 头文件 dos h getdfree 读取磁盘空闲空间的函数 原形 void getdfree drive dtable unsigned char drive 驱动器号 0 当前 1 A 2 B struct dfree unsigned df avail 可使用的簇数 unsigned df total 每个驱动器的簇数 unsigned df bsec 每个扇区的字节数 unsigned df sclus 每个簇的扇区数 出错时返回 0 xffff dtable 功能 把由 drive 指定的关于驱动器的信息返回到 dtable getdisk 读取当前磁盘驱动器号函数 原形 int getdisk void 功能 取得当前驱动器号 0 A 1 B 头文件 dir h getenv 读取环境变量的当前值的函数 原形 char getenv const char name 用法 s getenv 环境变量名 需先定义 char s 功能 返回一给定的环境变量值 环境变量名可大写或小写 如果指定的变量在环境中未定义 则返回一空串 头文件 stdlib h getimage 将指定区域的位图象存入内存的函数 原形 void far getimage int left int top int right int bottom void far bitmap 功能 将图像 矩形区域 从屏幕拷贝到内存 bitmap 指向内存中存放图像的区域 该区域的 前两个字节用于存放矩形的高和宽 头文件 graphics h getmaxx 返回屏幕上最大的 坐标值的函数 原形 int far getmaxx void 功能 返回当前图形驱动程序和图形模式下最大的 X 坐标值 头文件 graphics h getmaxy 返回屏幕上最大的 Y 坐标值的函数 原形 int far getmaxy void 功能 返回当前图形驱动程序和图形模式下最大的 Y 坐标值 头文件 graphics h getpixel 读取像素颜色的函数 原形 unsigned far getpixel int x int y 头文件 graphics h getpsp 原形 unsigned getpsp void 功能 使用 DOS 系统调用 0 x62 返回程序段前缀 PSP 的段地址 头文件 dos h gets 从标准输入流 stdio 中读取一字符串的函数 功能 将键盘上输入的字符串立刻赋予字符串变量并显示出来 调用方式 gets 字符串变量名 注 需定义 char 字符串变量名 gettime 读取系统时间的函数 原形 void gettime ptime struct time unsigned char ti min unsigned char ti hour unsigned char ti hund 百分之一秒 unsigned char ti sec struct time ptime getvect 读取中断向量函数 原形 void interrupt getvect int interruptno 功能 读入由 interruptno 0 255 之间 所指定的中断向量值 并把该中断向量值作为中断函 数的远指针返回 返回值 指定中断向量的当前 4 字节值 头文件 dos h 使用实例 oldfunc getvect 5 先定义 void interrupt oldfunc 用后恢复 setvect 5 oldfunc getx 返回当前图形方式下位置的 X 坐标值的函数 原形 int far getx void 头文件 graphics h gety 返回当前图形方式下位置的 Y 坐标值的函数 原形 int far gety void 头文件 graphics h imagesize 返回保存图像缓冲区大小的函数 原形 unsigned far imagesize int left int top int right int bottom 功能 确定保存图像所需的存储区大小 返回值 返回存储区的大小 字节 若所需内存大于等于 64K 1 字节 则返回 0 xffff 1 头文件 graphics h initgraph 显示模式控制函数 初始化图形系统函数 功能 把图形适配器设置为一种图形模式 将选择的图形驱动程序 在 BGI 文件中 装入到内 存 调用方式 void far initgraph int far driver int far mode char far path 其中 driver 可以是数值 0 10 也可是符号值 DETECT CGA MCGA EGA EGA64 EGAMONO RESERVED HERCMONO AT T400 VGA PC3270 mode 参数从图形系统为各种常用的图形适配器设置的图形模式中 CGAC0 IBM8514HI 见头文件 graphics h 选取 常用的有 VGAMED 或 1 640 350 等效于 BIOS 的模式 15 EGAHI 或 1 640 350 等 path 指向的字符串为装入驱动程序的路径 如果缺省路径 驱动程序在当前目录 结束方法 void far closegraph 函数用于当程序还要继续在字符模下运行时 它释放由图形函数 所占用的内存 同时把屏幕模式恢复为调用 initgraph 之前的模式 void far restorecrtmode 函数用于结束运行 将图形适配器设置到原来的模式 任 何分配的内存都将自动释放 头文件 graphics h inport 从端口中读入一个字的函数 原形 int inport int portid 调用方式 整型变量 inport 0 x 端口号 功能 从指定端口地址读一个字 头文件 dos h inportb 从端口读入一个字节的函数 原形 unsigned char inportb int portid 调用方式 字符变量 inportb 0 x 端口号 功能 从指定端口地址读一个字节 头文件 dos h int86 执行中断函数 调用 8086 软中断函数 原形 int int86 int intno union REGS inregs union REGS outregs 调用方式 int86 中断号 3 调用 int86 后得接受出口信息 变量名 输出指针名 x 寄存器名 4 REGS 的定义 在 dos h 中 struct WORDREGS unsigned int ax bx cx dx si di cflag flags struct BYTEREGS unsigned char al ah bl bh cl ch dl dh union REGS struct WORDREGS x struct BYTEREGS h 头文件 dos h int86x 执行中断函数 通用 8086 软中断接口函数 头文件 dos h 原形 int int86x int intno union REGS inregs union REGS outregs struct SREGS segregs 调用方式 int86x 中断号 注 1 需先定义 union REGS 输入指针名 输出指针名 union REGS 示意图 struct struct WORDREGS BYTEREGS al 1 byte ax 2 bytes ah bl bx bh cl cx ch dl dx dh union regs si di cflag flags x 两个结构变量 h 共享同一存储域 其中字段 flags 对应于标志寄存器 字段 cflag 仅对应于进位标志位 函数在调用时不用 该字段 只在返回时设置这个字段 因为许多 BIOS 服务都是通过进位标置为 0 还是 1 来表示 成功还是失败 注 2 需先定义 struct SREGS 段寄存器指针名 结构 SREGS 定义如下 struct SREGS unsigned int es cs ss ds 函数只用了该结构中的段寄存器 DS 和 ES 调用时根据它们的值设置 DS 和 ES 同时把 DS 和 ES 原来的值保存在这个结构中 返回时再恢复 DS 和 ES 为原来的值 这就允许程序使 用远指针或大数据编译模式 该函数置全局变量 doserrno 等于寄存器 AX 中的值 其返回值也等于 AX 中的值 注 3 向寄存器传递入口信息 输入指针名 x 寄存器名 要赋的值 入口信息 注 4 调用 int86x 后得接受出口信息 变量名 输出指针名 x 寄存器名 intdos 通用 dos 中断接口函数 原形 int intdos inregs outregs union REGS inregs 调用时的各寄存器的值 union REGS outregs 返回寄存器的值 功能 产生 DOS 软中断 注意 如果需要功能号 则装入 AH 如果需要子功能号 则装入 AL 头文件 dos h intdosx 通用 dos 中断接口函数 原形 int intdosx inregs outregs segregs union REGS inregs 调用时的各寄存器的值 union REGS outregs 返回寄存器的值 struct SREGS seregs 调用时的段寄存器的值 还设置返回时的值 功能 产生 DOS 软中断 头文件 dos h intr 执行 8086 软中断函数 改变软中断接口函数 原形 void intr int intno struct REGPACK preg 调用方式 intr 中断号 unsigned r bp r si r di r ds r es r flag 注 2 使用时先定义一个结构变量 struct REGPACK 结构变量名 注 3 入口和出口用同一个结构变量来传递寄存器的值 结构变量名 r ax 要赋的值 intr 中断号 某变量 结构变量名 r ax 头文件 dos h itoa 把整形数转换为字符串的函数 原形 char itoa int value char string int radix 功能 把 value 的值转换为以 NULL 结束的字符串 并把结果存在 string 中 radix 是转换的 基数值 在 2 到 36 之间 分配给 string 的空间必须可容纳返回的所有字节 最多 17 字节 返回值 指向 string 的指针 头文件 stdlib h kbhit 检查当前按下的键的函数 原形 int kbhit void 功能 检查按下的键是否有效 若有效则可用 getch 或 getche 读取 返回值 如果按键有效 返回一非零值 否则返回 0 头文件 conio h keep 驻留并退出函数 原形 void keep unsigned char status unsigned size 功能 用于安装一个 TSR 程序 使用 DOS 功能调用 0 x31 出口状态设置为在 status 中的值 程序占用存储空间为 size 并释放内存的其余部分 头文件 dos h log 原形 double log double num 功能 求 num 的自然对数值 头文件 math h log10 原形 double log10 double num 功能 求 num 以 10 为底的对数值 头文件 math h lrotl 将一个无符号长整形数左循环移位的函数 原形 unsigned long lrotl unsigned long value int count 功能 将 value 向左循环移动 count 位 返回值 将 value 向左循环移动 count 位后的值 头文件 stdlib h lrotr 将一个无符号长整形数右循环移位的函数 原形 unsigned long lrotr unsigned long value int count 功能 将 value 向右循环移动 count 位 返回值 将 value 向右循环移动 count 位后的值 头文件 stdlib h lseek 移动文件指针函数 原形 long lseek int handle long offset int fromwhere handle open 函数的返回值 文件句柄 fromwhere 文件位置 SEEK SET 0 从文件头位置 EEK CUR 1 从当前文件指针位置 SEEK END 2 从文件结尾位置 功能 把文件指针移动到 fromwhere 所指的地址加上 offset 新位置的偏移上 头文件 io h 返回值 指针新位置的偏移量 相对于文件开始处 出错时返回 1L ltoa 把长整形数转换为字符串的函数 原形 char ltoa long value char string int radix 功能 把 value 的值转换为以 NULL 结束的字符串 并把结果存在 string 中 radix 是转换的 基数值 在 2 到 36 之间 分配给 string 的空间必须可容纳返回的所有字节 最多 33 字节 返回值 指向 string 的指针 头文件 stdlib h malloc 分配内存函数 原形 void malloc size t size 功能 从堆中分配大小为 size 字节的块 win32 也适用 返回值 返回新分配内存的地址 若无足够内存 返回 NULL 头文件 alloc h stdlib h mkdir 创建目录函数 原形 int mkdir const char path 功能 按给定的路径建立一个新的目录 头文件 dir h 返回值 0 成功 1 失败 mktemp 建立一个唯一的文件名的函数 原形 char mktemp char template 功能 使用一个唯一的文件名来替换字符串 template 并返回 template 头文件 dir h MK FP 设置一个远指针的宏 原形 void far MK FP unsigned seg unsigned ofs 功能 通过段值 seg 和偏移量 ofs 建立一个远指针 返回值 远指针 头文件 dos h movedata 拷贝数据函数 原形 void movedata unsigned srcseg unsigned srcoff unsigned dstseg unsigned dstoff size t n 功能 从原地址 srcseg srcoff 拷贝 n 个字节的数据到目标地址 dstseg dstoff 头文件 mem h string h open 打开一个文件进行读写的函数 原形 int open path oflags char path 已建立文件的路径名 int oflags 方式 功能 打开由 path 指定的文件 返回文件的句柄 返回值 0 正常结束 1 错误 头文件 fcntl h io h open 打开文件进行读写的函数 原形 int open const char path int access unsigned mode 使用方法 文件句柄 open 文件名 打开模式 打开模式 功能 打开 path 指定的文件 根据 access 指定的模式值读写 access 模式 O RDONLY 以只读方式打开 O WRONLY 以只写方式打开 O RDOWR 以读写方式打开 以上标志只能使用一个 以下可以用 组合使用 O NDELAY O APPEND 若置位 每次写操作前都使文件指针指到文件末尾 O CREAT 若文件不存在则创建 O TRUNC 若文件已存在 则将文件长度截为 0 O EXCL 只和 O CREAT 一起使用 若文件已经存在 返回错误代码 O BINARY 以二进制方式打开 O TEXT 以文本方式打开 如果使用了 O CREAT 方式 则需要提供参数 mode S IWRITE 可写 S IREAD 可读 S IREAD S IWRITE 可读写 返回值 文件句柄 成功时 1 失败时 成功时 文件指针指向文件头 头文件 fcntl h io h outport 输出一个字到端口中的函数 原形 void outport int portid int value 调用方式 outport 0 x 端口号 要输出的字 功能 往指定端口地址输出一个字 头文件 dos h outportb 输出一个字节到端口中的函数 原形 void outportb int portid unsigned char value 调用方式 outportb 0 x 端口号 要输出的字节 功能 往指定端口地址输出一个字节 附 PC I O 地址分配 PC 只用了 10 位地址线 A0 A9 进行译码 其寻址的范围为 0H 3FFH 共有 1024 个 I O 地址 这 1024 个地址中前半段 A9 0 范围为 0H 1FFH 是属于主机板 I O 译码 后半 段 A9 1 范围为 200H 3FFH 则是用来扩展插槽上的 I O 译码用 I O 端口功能表 I O 地址 功能 用途 0 DMA 通道 0 内存地址寄存器 DMA 控制器 1 8237 1 DMA 通道 0 传输计数寄存器 2 DMA 通道 1 内存地址寄存器 3 DMA 通道 1 传输计数寄存器 4 DMA 通道 2 内存地址寄存器 5 DMA 通道 2 传输计数寄存器 6 DMA 通道 3 内存地址寄存器 7 DMA 通道 3 传输计数寄存器 8 DMA 通道 0 3 的状态寄存器 AH DMA 通道 0 3 的屏蔽寄存器 BH DMA 通道 0 3 的方式寄存器 CH DMA 清除字节指针 DH DMA 主清除字节 EH DMA 通道 0 3 的清屏蔽寄存器 FH DMA 通道 0 3 的写屏蔽寄存器 19H DMA 起始寄存器 20H 3FH 可编程中断控制器 1 8259 使用 40H 可编程中断计时器 8253 使用 读 写计数器 0 41H 可编程中断计时器寄存器 42H 可编程中断计时器杂项寄存器 43H 可编程中断计时器 控制字寄存器 44H 可编程中断计时器 杂项寄存器 AT 47H 可编程中断计时器 计数器 0 的控制字寄存器 48H 5FH 可编程中断计时器使用 60H 61H 键盘输入数据缓冲区 61H AT 8042 键盘控制寄存器 XT 8255 输出寄存器 62H 8255 输入寄存器 63H 8255 命令方式寄存器 64H 8042 键盘输入缓冲区 8042 状态 65H 6FH 8255 8042 专用 70H CMOS RAM 地址寄存器 71H CMOS RAM 数据寄存器 80H 生产测试端口 81H DMA 通道 2 页表地址寄存器 82H DMA 通道 3 页表地址寄存器 83H DMA 通道 1 页表地址寄存器 87H DMA 通道 0 页表地址寄存器 89H DMA 通道 6 页表地址寄存器 8AH DMA 通道 7 页表地址寄存器 8BH DMA 通道 5 页表地址寄存器 8FH DMA 通道 4 页表地址寄存器 93H 9FH DMA 控制器专用 A0H NM1 屏蔽寄存器 可编程中断控制器 2 A1H 可编程中断控制器 2 屏蔽 C0H DMA 通道 0 内存地址寄存器 DMA 控制器 2 8237 C2H DMA 通道 0 传输计数寄存器 C4H DMA 通道 1 内存地址寄存器 C6H DMA 通道 1 传输计数寄存器 C8H DMA 通道 2 内存地址寄存器 CAH DMA 通道 2 传输计数寄存器 CCH DMA 通道 3 内存地址寄存器 CEH DMA 通道 3 传输计数寄存器 D0H DMA 状态寄存器 D2H DMA 写请求寄存器 D4H DMA 屏蔽寄存器 D6H DMA 方式寄存器 D8H DMA 清除字节指针 DAH DMA 主清 DCH DMA 清屏蔽寄存器 DEH DMA 写屏蔽寄存器 DFH EFH 保留 F0H FFH 协处理器使用 100H 16FH 保留 170H 1 号硬盘数据寄存器 171H 1 号硬盘错误寄存器 172H 1 号硬盘数据扇区计数 173H 1 号硬盘扇区数 174H 1 号硬盘柱面 低字节 175H 1 号硬盘柱面 高字节 176H 1 号硬盘驱动器 磁头寄存器 177H 1 号硬盘状态寄存器 1F0H 0 号硬盘数据寄存器 1F1H 0 号硬盘错误寄存器 1F2H 0 号硬盘数据扇区计数 1F3H 0 号硬盘扇区数 1F4H 0 号硬盘柱面 低字节 1F5H 0 号硬盘柱面 高字节 1F6H 0 号硬盘驱动器 磁头寄存器 1F7H 0 号硬盘状态寄存器 1F9H 1FFH 保留 200H 20FH 游戏控制端口 210H 21FH 扩展单元 278H 3 号并行口 数据端口 279H 3 号并行口 状态端口 27AH 3 号并行口 控制端口 2B0H 2DFH 保留 2E0H EGA VGA 使用 2E1H GPIP 0 号适配器 2E2H 数据获取 0 号适配器 2E3H 数据获取 1 号适配器 2E4H 2F7H 保留 2F8H 2 号串行口 发送 保持寄存器 RS232 接口卡 2 2F9H 2 号串行口 中断有效寄存器 2FAH 2 号串行口 中断 ID 寄存器 2FBH 2 号串行口 线控制寄存器 2FCH 2 号串行口 调制解调控制寄存器 2FDH 2 号串行口 线状态寄存器 2FEH 2 号串行口 调制解调状态寄存器 2FFH 保留 300H 31FH 原形卡 320H 硬盘适配器寄存器 322H 硬盘适配器控制 状态寄存器 324H 硬盘适配器提示 中断状态寄存器 325H 347H 保留 348H 357H DCA3278 366H 36FH PC 网络 372H 软盘适配器数据输出 状态寄存器 375H 376H 软盘适配器数据寄存器 377H 软盘适配器数据输入寄存器 378H 2 号并行口 数据端口 379H 2 号并行口 状态端口 37AH 2 号并行口 控制端口 380H 38FH SDLC 及 BSC 通讯 390H 393H Cluster 适配器 0 3A0H 3AFH BSC 通讯 3B0H 3B H MDA 视频寄存器 3BCH 1 号并行口 数据端口 3BDH 1 号并行口 状态端口 3BEH 1 号并行口 控制端口 3C0H 3CFH EGA VGA 视频寄存器 3D0H 3D7H CGA 视频寄存器 3F0H 3F7H 软盘控制器寄存器 3F8H 1 号串行口 发送 保持寄存器 RS232 接口卡 1 3F9H 1 号串行口 中断有效寄存器 3FAH 1 号串行口 中断 ID 寄存器 3FBH 1 号串行口 线控制寄存器 3FCH 1 号串行口 调制解调控制寄存器 3FDH 1 号串行口 线状态寄存器 3FEH 1 号串行口 调制解调状态寄存器 3FFH 保留 outtextxy 在指定位置显示一字符串的函数 原形 void far outtextxy int x int y char far textstring 功能 按照当前对齐方式和当前字体 方向 大小在视区中给定位置显示一文本字符串 注意 用 textwidth 和 textheight 函数决定字符串的尺寸大小 头文件 graphics h peek 返回指定内存中字的函数 原形 int peek int seg unsigned offset 功能 返回地址为 seg offset 的字单元的值 头文件 dos h peekb 返回指定内存中字节的函数 原形 char peekb int seg unsigned offset 功能 返回地址为 seg offset 的字节单元的值 poke 在指定的内存中存储一个字的函数 原形 void poke int seg unsigned offset int word 功能 把 word 的 16 位值放到地址为 seg offset 的字单元中 pokeb 在指定的内存中存储一个字节的函数 原形 void pokeb int seg unsigned offset int byte 功能 把 byte 的 8 位值放到地址为 seg offset 的字节单元中 pow 原形 double pow double b double exp 功能 求以 b 为底的 exp 次幂的值 头文件 math h printf 写格式化输出到 stdout 的函数 使用方式 例 printf f 实型变量 printf f 函数指针名 参数 printf c 字符变量 printf c 字符串变量名即字符串地址 只显示字符串的第一个字符 printf s 字符串数组名即字符串数组地址 printf 10s 字符串变量名 显示字符串时限定十位 不足则补空格 并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论